【问题标题】:Separate number with commas after 3 digits white managing decimal places on a string iOS在 3 位数字后用逗号分隔数字,白色管理字符串 iOS 上的小数位
【发布时间】:2016-12-14 16:34:31
【问题描述】:

我有以下变量

NSString* balance = @"43243534.4535345"
int decimalPoint = 2;

如何在根据给定变量同时管理小数点的同时在三位数字后放置逗号。 单独执行这些操作很容易,但是我们如何将它们一起执行,所以结果应该是:43,243,534.45

【问题讨论】:

  • 您的问题已标记为NSNumberFormatter。请用您的尝试更新您的问题。说明您在获得预期结果时遇到了什么问题。

标签: ios objective-c number-formatting nsnumberformatter


【解决方案1】:

你可以使用NSNumberFormatter:

double number = 43243534.4535345;
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
numberFormatter.maximumFractionDigits = 2;
numberFormatter.numberStyle = NSNumberFormatterDecimalStyle;
NSString *numberString = [numberFormatter stringFromNumber:@(number)];
NSLog(@"%@", numberString); 
//43,243,534.45 in log

在斯威夫特中:

let number = 43243534.4535345
let formatter = NumberFormatter()
formatter.maximumFractionDigits = 2
formatter.numberStyle = .decimal
let formattedString = formatter.string(from: NSNumber(value: number))

【讨论】:

  • 当 OP 想要 2 位小数时,为什么将 minimumFractionDigits 设置为 7。当 OP 显示小数点分隔符 . 时,为什么要将 decimalSeparator 设置为 ,。为什么要设置decimalSeparator?为用户的区域设置正确的数字格式。
  • 您需要minimumFractionDigitsmaximumFractionDigits。如果没有minimumFractionDigits,您将获得0.5 而不是0.50。没有maximumFractionDigits,你会得到0.6666而不是0.67
猜你喜欢
  • 2012-12-23
  • 2013-05-04
  • 1970-01-01
  • 1970-01-01
  • 2014-11-27
  • 2011-02-20
  • 2013-09-16
  • 2022-12-01
  • 1970-01-01
相关资源
最近更新 更多