可能重复:
How can I round a float value to 2 post decimal positions?
假设我的双数为3.46。 如何将其舍入到3.50? 我试过了
NSLog(@"res: %.f", round(3.46));
但它返回3.
答案 0 :(得分:5)
做一些计算......
float f=3.46;
float num=f+0.05;//3.51
int intNum=num*10;//35
float floatNum=intNum/10.0;//3.5
NSLog(@"res: %.2f", floatNum); //3.50
答案 1 :(得分:2)
以下代码可能会有所帮助
i = roundf(10 * i) / 10.0;
其中i是你的浮点变量
答案 2 :(得分:1)
如果您愿意使用rounding rules from printf,那么当舍入演示时,以下内容就足够了:
NSLog(@"res: %.1f0", 3.46);
请注意,0只是在将值格式化为适当的小数位数(1)后添加的普通字符。此方法也可以与[NSString stringWithFormat:]
一起使用。
原始代码会产生“3”,因为round
始终返回一个整数值。
因人而异;我甚至不使用iOS。