16

Objective-C で小数点以下 2 桁を丸める方法を教えてください。

私はこのようにしたいと思います。(以下の文の数字はすべて float 値です)

• 円形

10.118 => 10.12

10.114 => 10.11

•天井

10.118 => 10.12

• 床

10.114 => 10.11

私の質問をチェックしてくれてありがとう。

4

3 に答える 3

36

数値を表示するときだけでなく、実際に数値を丸める必要がある場合:

float roundToN(float num, int decimals)
{
    int tenpow = 1;
    for (; decimals; tenpow *= 10, decimals--);
    return round(tenpow * num) / tenpow;
}

または、常に小数点以下 2 桁まで:

float roundToTwo(float num)
{
    return round(100 * num) / 100;
}
于 2013-03-15T10:00:30.600 に答える
16

以下のコードを使用して、小数点以下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
于 2013-03-15T10:01:14.710 に答える
0
float roundedFloat = (int)(sourceFloat * 100 + 0.5) / 100.0;
于 2013-03-15T10:00:31.347 に答える