我正在尝试将浮点值四舍五入到小数点后两位。我正在使用objective-c
例如 1.47567 应该是这样 , 1.47 .. 请帮忙
谢谢。
float num = 1.47567;
num *= 100;
if(num >= 0) num += 0.5; else num -= 0.5;
long round = num;
num = round;
num /= 100;
NSLog(@"%.2f",num);
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumFractionDigits:2];
NSString *formattedNumber = [formatter stringFromNumber:@(self.speed)];
double value = 1.47567;
double roundedValue = round(value * 100.0) / 100.0;
当然,您可以使用命名常量来代替 100.0。这只是一个演示。
做这个
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumFractionDigits:2];
NSString *formattedNumber = [formatter stringFromNumber:@(self.speed)];
float numTwoDecimalDigits = atof([formattedNumber UTF8String]);
NSLog(@"%.2f", 1.47567);
将四舍五入到小数点后两位。如果你想“切”,有不同的选择。例如:
NSLog(@"%.2f", floor(1.47567 * 100) / 100);