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

前端之家收集整理的这篇文章主要介绍了ios – 如何获取带小数的格式数字(XCode)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的目标是为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];

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

猜你在找的Xcode相关文章