我意识到还有其他这样的问题,但我的问题似乎没有准确关联。这是交易。
我有一个应用程序,可以进行计算。我正在使用花车。所有浮点数都可以正常工作,我将浮点值转换为NSNumber
进行格式化。
NSNumberFormatter *numFormatter = [NSNumberFormatter alloc];
[numFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numFormatter setMinimumFractionDigits:1];
[numFormatter setMaximumFractionDigits:5];
NSNumber *insulinRatio = [NSNumber numberWithFloat:insulinRatioCalc];
NSLog(@"Original Number = %@", insulinRatio);
my NSNumber
,insulinRatio,具有准确的精确度。但是,当我将其转换为带有NSString
的{{1}}时,它会丢失所有小数精度。
NSNumberFormatter
这些最后日志的输出如下:
2013-01-08 16:12:27.944 MyApp [84062:c07]原始数字= 1.2 2013-01-08 16:12:27.944 MyApp [84062:c07] Number = 1
为什么我会失去这种精确度。我知道NSString *numberAsString = [numFormatter stringFromNumber:insulinRatio];
NSLog(@"Number = %@", numberAsString);
转换为加倍,但NSNumber
在这里很好。这是NSNumber
。我究竟做错了什么?
由于
答案 0 :(得分:0)
没关系。我只需要初始化NSNumberFormatter。 #fail moment。
NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc]init];
解决了这个问题。 :)