首页 > 解决方案 > Objective C 中某些 iPhone 中的 Double 到 String 转换问题

问题描述

我面临双重到字符串转换的问题,它发生在一个或两个用户 iPhone 上,从我的角度来看,它正在按预期工作

我的双重价值 - 10.890000000000001,

预期的字符串输出=“10.89”,

但一些用户 iPhone 的输出是 - “1089”(.错过了)

在调试中我无法重现它,它按预期工作,我没有找到导致此问题的任何原因,在这里我附上了我的代码,提前致谢

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setMaximumFractionDigits:2];
[formatter setRoundingMode: NSNumberFormatterRoundCeiling];
NSString *numberString = [formatter stringFromNumber:[NSNumber numberWithDouble:doubleValue]];

标签: iosobjective-ciphonensnumberformatter

解决方案


这可能不是最佳做法,但您可以尝试遵循,它应该适合您。

double doubleValue = 10.89;
    
NSString * numberString = [NSString stringWithFormat:@"%.02f", doubleValue];
NSLog(@"numberString = %@", numberString);

推荐阅读