首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSFormatter手术失败了吗?

NSFormatter手术失败了吗?
EN

Stack Overflow用户
提问于 2013-01-08 21:20:07
回答 1查看 136关注 0票数 0

我意识到还有其他类似的问题,但我的问题似乎并没有准确地联系起来。这是交易。

我有一个应用程序,它做一个计算。我是用浮子来做这个的。所有浮点数都工作得很好,我将浮点数转换为NSNumber格式。

代码语言:javascript
复制
NSNumberFormatter *numFormatter = [NSNumberFormatter alloc];
    [numFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
    [numFormatter setMinimumFractionDigits:1];
    [numFormatter setMaximumFractionDigits:5];

    NSNumber *insulinRatio = [NSNumber numberWithFloat:insulinRatioCalc];
    NSLog(@"Original Number = %@", insulinRatio);

我的NSNumber,insulinRatio,具有精确的精度。但是,当我将其转换为带有NSStringNSNumberFormatter时,它将失去所有十进制精度。

代码语言:javascript
复制
NSString *numberAsString = [numFormatter stringFromNumber:insulinRatio];
    NSLog(@"Number = %@", numberAsString);

我对最后这些日志的输出记录如下:

2013年-01-08 16:12:27.944 MyApp84062:c07原始号码= 1.2 2013年-01-08 16:12:27.944 MyApp84062:c07编号=1

为什么我会失去这种精确性。我知道NSNumber可以转换为double,但是NSNumber在这里很好。这是NSNumberFormatter。我做错了什么?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-08 21:22:02

不要紧。我只需初始化NSNumberFormatter。#失败时刻。

代码语言:javascript
复制
NSNumberFormatter *numFormatter = [[NSNumberFormatter alloc]init]; 

解决了问题。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14224235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档