圆形浮动值为.1(十位)

时间:2013-01-10 08:20:33

标签: ios objective-c floating-point rounding

  

可能重复:
  How can I round a float value to 2 post decimal positions?

假设我的双数为3.46。 如何将其舍入到3.50? 我试过了

NSLog(@"res: %.f", round(3.46)); 

但它返回3.

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。