我将计算结果舍入到两位小数时遇到问题。使用舍入浮点数的目标C问题
这是一个财务计算,当结果涉及半分钱时,我希望这个数字被四舍五入,但实际上它正在向下舍入。
复制问题:
float raw = 16.695;
NSLog(@"All DP: %f",raw);
NSLog(@"2 DP: %.2f",raw);
返回:
All DP: 16.695000
2 DP: 16.69
而我希望看到:
All DP: 16.695000
2 DP: 16.70
任何人都可以提出建议,如果这是由设计,或者如果(最有可能的)我错过了一些东西,如果有什么我可以做的来解决它。在这种情况下,它是至关重要的。
由于提前, 奥利
尝试的NSLog(@ “9 DP:%.9f”,生);你会得到:16.694999695 – Felix 2011-06-13 17:12:51
如果你使用双精度,它会在你的例子中取整 – Felix 2011-06-13 17:15:25
好吧,这样的工作,但出于兴趣,为什么?为什么它没有按照设定的16.695存储号码? – faroligo 2011-06-13 17:32:35