加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ios – 如何获取带小数的格式数字(XCode)

发布时间:2020-12-14 17:16:53 所属栏目:百科 来源:网络整理
导读:我的目标是为iPhone创建一个客户计算器应用程序,我正在使用 Xcode编写我的应用程序.我的问题,我找不到解决方案,是如何格式化使用小数(带有额外的零)的数字而不切换到科学记数法 我试过了… buttonScreen.text = [NSString stringWithFormat:@"%0.f",currentN
我的目标是为iPhone创建一个客户计算器应用程序,我正在使用 Xcode编写我的应用程序.我的问题,我找不到解决方案,是如何格式化使用小数(带有额外的零)的数字而不切换到科学记数法

我试过了…

buttonScreen.text = [NSString stringWithFormat:@"%0.f",currentNumber];

%0.f格式化始终为舍入,因此如果用户键入“4.23”,则显示“4”

%f格式化带有6位小数的数字(输入“5”显示为“5.000000”),但我不想在数字的末尾显示额外的零.

?.4f是我在阅读中看到的另一个找到解决方案的东西,但我的问题是我不知道答案中会有多少小数,我可能需要零小数或10位小数,具体取决于数字.

以下是我想要显示的数字示例(不带逗号):大于6位的整数,超过6位的十进制数.

123,456,789;
0.123456789;
12345.6789;
-123,789;
-0.23456789;
-12345.6789;

*这是对我之前的问题“如何格式化数字而没有科学符号或小数”的精神转发,我写得很糟糕,因为我打算写“不必要的(额外的零)”,但在重读我的帖子后,清楚地看到我无法传达在我的问题的任何一点.

解决方法

使用 NSNumberFormatter class.

首先定义格式化程序:

NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];

然后,您可以定义格式化程序的各种属性:

formatter.numberStyle = NSNumberFormatterDecimalStyle;
formatter.maximumIntigerDigits = 3;
formatter.minimumFractionDigits = 3;
formatter.maximumFractionDigits = 8;
formatter.usesSignificantDigits = NO;
formatter.usesGroupingSeparator = YES;
formatter.groupingSeparator = @",";
formatter.decimalSeparator = @".";
....

您将数字格式化为如下字符串:

NSString *formattedNumber = [formatter stringFromNumber:num];

玩弄它.它很简单,但可能需要一些工作来获得你想要的外观.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读