在 3 位数字后用逗号分隔数字,白色管理字符串 iOS 上的小数位

Posted

技术标签:

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

我有以下变量

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

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

【问题讨论】:

您的问题已标记为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

以上是关于在 3 位数字后用逗号分隔数字,白色管理字符串 iOS 上的小数位的主要内容,如果未能解决你的问题,请参考以下文章

【js】金钱格式化(每三位逗号分隔)的方法

JS从入门到放弃,千位分隔符

当某些数字包含逗号作为千位分隔符时如何读取数据?

如何在Objective C中为每3位数字添加逗号?

检测 VB.Net 中数字的文化,即小数点/千位分隔符的句点或逗号

使用数字和千位分隔符修复格式错误的字符串