4

可能重复:
如何将浮点值四舍五入到小数点后 2 位?

假设我有一个双倍数 3.46。我如何将其四舍五入到 3.50?我试过了

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

但它返回 3。

4

3 回答 3

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
于 2013-01-10T08:35:09.073 回答
2

以下代码可能会有所帮助

i = roundf(10 * i) / 10.0;

我是你的浮点变量

于 2013-01-10T08:26:00.083 回答
1

如果您愿意接受printf 的舍入规则,那么在舍入演示文稿时以下内容就足够了:

NSLog(@"res: %.1f0", 3.46); 

请注意,0 只是在将值格式化为适当的小数位数 (1)后添加的普通字符。这种方法也应该可以使用[NSString stringWithFormat:]

原始代码的结果是“3”,因为round它总是返回一个整数值。

YMMV;我什至不使用iOS。

于 2013-01-10T08:50:28.473 回答