Search Issue Tracker
Won't Fix
Votes
0
Found in
2019.4
2020.3
2021.2
2021.2.10f1
2022.1
2022.2
Issue ID
1400821
Regression
No
Mathf.floor and Mathf.floorToInt output incorrect values
Reproduction steps:
1. Create and open a new project
2. Move user's "MathfTest.cs" script to the Assets folder and attach it to any Game Object
3. Press Play and observe logs in the Console window
Expected result: 0.9f / 0.3f: 3; Floor(0.9f / 0.3f): 3; FloorToInt(0.9f / 0.3f): 3
Actual result: 0.9f / 0.3f: 3; Floor(0.9f / 0.3f): 2; FloorToInt(0.9f / 0.3f): 2
Reproducible with: 2019.4.35f1, 2020.3.29f1, 2021.2.12f1, 2022.1.0b8, 2022.2.0a4
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Texture2D hash changes inside of an AssetBundle when rebuilding a SpriteAtlas bundle with an empty AssetPostprocessor Script enabled
- Aniso Level still applies when Generate MipMap is disabled in Texture Import Settings
- Mipmap Limit Groups long names are not truncated when creating a new Mipmap Limit Group with a long name
- “ArgumentException: Invalid double parameter.” error is thrown when Infinity is typed into the Fixed Timestep field
- GameObject becomes gray when using HDRP and STP together on macOS
Resolution Note:
The error is introduced by the division in float which we cannot changed 0.9f / 0.3f != 0.9 / 0.3
You can repro the same bug with c sharp System Math.Round method if you pass (double)0.9f/0.3f.