Objective-Cの小数点以下2桁を10進数で丸める方法を教えてください。Objective-Cの小数点以下2桁を丸める方法
私はこのようにしたいと思います。 (文、次の番号のすべてが浮動小数点値である)
•ラウンド
10.118 => 10.12
10.114 => 10.11
•切り上げ
10.118 => 10.12
•床
10.114 => 10.11
私の質問をチェックしていただきありがとうございます。
Objective-Cの小数点以下2桁を10進数で丸める方法を教えてください。Objective-Cの小数点以下2桁を丸める方法
私はこのようにしたいと思います。 (文、次の番号のすべてが浮動小数点値である)
•ラウンド
10.118 => 10.12
10.114 => 10.11
•切り上げ
10.118 => 10.12
•床
10.114 => 10.11
私の質問をチェックしていただきありがとうございます。
それを提示するとき、あなたが実際にはない四捨五入される数を必要とした場合:小数点以下2桁
float roundToN(float num, int decimals)
{
int tenpow = 1;
for (; decimals; tenpow *= 10, decimals--);
return round(tenpow * num)/tenpow;
}
か、常に:あなたが使用することができます
float roundToTwo(float num)
{
return round(100 * num)/100;
}
ええと、これは私のためには機能しません。それは私に小数点以下6桁の浮動小数点を与えます。 –
@TheJuicedWord:正しいNSLog/printf変換指定子は、明らかに '%.2f'である必要があります。 –
@ user529758でも、実際の 'float'は正しく丸められていないという事実にはまだ対応していません。 –
float roundedFloat = (int)(sourceFloat * 100 + 0.5)/100.0;
これは負の数には正しくありません。 C標準ライブラリには 'round()'関数があります。 –
真ですが、1.この例では正の数しかありませんでした。私の目標はちょうどアイデアを表示することだった;) – Gobra
私はあなたのポイントを参照してください、これは*アイデアではありません。*申し訳ありません。 –
以下小数点以下2桁にフォーマットするコード
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
formatter.numberStyle = NSNumberFormatterDecimalStyle;
formatter.setMaximumFractionDigits = 2;
formatter.setRoundingMode = NSNumberFormatterRoundUp;
NSString *numberString = [formatter stringFromNumber:@(10.358)];
NSLog(@"Result %@",numberString); // Result 10.36
OPは実際に*番号を丸めることを望んでいると思います。 @Takuyaによって与えられた条件どおり –
(10.118 => 10.12 10.114 => 10.11 •切り上げ 10.118 => 10.12 •床 10.114 => 10.11)私はこれが彼のために働くべきだと思います。 – Suhaiyl
私は、丸められた値を*印字*するのではなく、丸められた値を*印字することを望んでいます。 –
あなたがCでそれをするのと同じ方法:) – dasblinkenlight
結果の値は文字列か浮動小数点のままにする必要がありますか? – coverback
http://stackoverflow.com/questions/10749483/how-to-convert-a-float-value-to-rounded-off-in-iphone-app/10749620#10749620 –