让我知道如何在 Objective-C 中为小数点后两位四舍五入。
我想这样做。(句子后面的所有数字都是浮点值)
• 圆形的
10.118 => 10.12
10.114 => 10.11
• 细胞
10.118 => 10.12
• 地面
10.114 => 10.11
感谢您检查我的问题。
让我知道如何在 Objective-C 中为小数点后两位四舍五入。
我想这样做。(句子后面的所有数字都是浮点值)
• 圆形的
10.118 => 10.12
10.114 => 10.11
• 细胞
10.118 => 10.12
• 地面
10.114 => 10.11
感谢您检查我的问题。
如果您确实需要对数字进行四舍五入,而不仅仅是在呈现它时:
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;
}
您可以使用以下代码将其格式化为两位小数
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
float roundedFloat = (int)(sourceFloat * 100 + 0.5) / 100.0;