4

重複の可能性:
浮動小数点値を小数点以下2桁に丸めるにはどうすればよいですか?

私が3.46の2倍の数を持っているとしましょう。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;

ここで、iはフロート変数です

于 2013-01-10T08:26:00.083 に答える
1

printfの丸めルールを使用する場合は、プレゼンテーションの丸め時に次の手順で十分です。

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

0は、値が小数点以下の適切な数値(1)にフォーマットされた後に追加される単なる通常の文字であることに注意してください。このアプローチは、でも使用できるはず[NSString stringWithFormat:]です。

round元のコードは常に整数値を返すため、「3」になります。

YMMV; iOSも使っていません。

于 2013-01-10T08:50:28.473 に答える