我试图将浮动值四舍五入到小数点后两位。我正在使用objective-c
例如1.47567应该是这样的,1.47 ..请帮忙
Thnx。
答案 0 :(得分:2)
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);
答案 1 :(得分:1)
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumFractionDigits:2];
NSString *formattedNumber = [formatter stringFromNumber:@(self.speed)];
答案 2 :(得分:0)
NSLog(@"%.2f", 1.47567);
将舍入到小数点后两位。如果你想“削减”,有不同的选择。例如:
NSLog(@"%.2f", floor(1.47567 * 100) / 100);
答案 3 :(得分:0)
double value = 1.47567;
double roundedValue = round(value * 100.0) / 100.0;
当然,您可以使用命名常量代替100.0。这只是一个演示。
答案 4 :(得分:0)
这样做
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
[formatter setMaximumFractionDigits:2];
NSString *formattedNumber = [formatter stringFromNumber:@(self.speed)];
float numTwoDecimalDigits = atof([formattedNumber UTF8String]);