ghi*_*boz 20 floating-point objective-c rounding ios
我有一个具有更多十进制数字的浮点数,例如:
float fRes = 10.0 / 3.0;
Run Code Online (Sandbox Code Playgroud)
实际上fRes值是3.3333333333333它可能设置为例如2个十进制数字:
float fRes = 10.0 / 3.0;
// fRes is 3.333333333333333333333333
float fResOk = FuncRound( fRes, 2 );
// fResOk is 3.33
Run Code Online (Sandbox Code Playgroud)
提前致谢
Nat*_*Day 58
我不知道你在哪里使用这个四舍五入的数字,但是你应该只在将值显示给用户时舍入你的值,有基于C的格式字符串方法来舍入浮点数例如
[NSString stringWithFormat:@"%.2f", value];
Run Code Online (Sandbox Code Playgroud)
正如您可能已经读过的那样,浮点数是实数的近似值,所以这样做fResOk = roundf( fRes*100.0)/100.0;
可能不会给你3.33但是数字与浮点数到3.33的距离一样接近.
gai*_*ige 30
假设您正在寻找正确的函数来舍入到一定数量的数字,您可能会发现最简单的做法如下:
fResOk = roundf( fRes*100.0)/100.0;
Run Code Online (Sandbox Code Playgroud)
这会将值乘以100
(给出2位有效数字),对值进行四舍五入,然后将其减小到最初开始时的幅度.
归档时间: |
|
查看次数: |
41347 次 |
最近记录: |