【发布时间】:2025-11-24 06:45:01
【问题描述】:
我一直在尝试找到一种将逗号附加到字符串或浮点数的方法。我有一个浮点数,它可以是 10.50 到 50000000000.99 之间的任何值,并且希望能够对其进行格式化以在每 3 位数字中添加逗号(不包括浮点数)。我知道有一个 NSNumberFormatter 可以使用 NSNumberFormatterDecimalStyle 或 NSNumberFormatterCurrencyStyle 但它们都不适用于字符串/浮点数。我曾尝试将浮点数拆分为两个字符串,然后尝试进行长度百分比 == 3 的计算,但它开始变得非常混乱。我在 Java 中做了类似的事情,但在 iOS 中似乎要困难得多。
如果有人有任何建议或想法?任何信息或指导表示赞赏!提前致谢。
编辑:我知道那里有帖子,但似乎没有一个可以解决以零结尾的双精度数/浮点数/字符串的问题。例如,如果我有一个双精度为 16.00,格式化程序会将其格式化为 16。对于 1234.80 也是如此。格式化程序会将其格式化为 1,234.8 而不是 1,234.80,这就是我正在寻找的。
【问题讨论】:
-
NSNumberFormatter是您所需要的。它确实适用于float,但您需要先将float包装在NSNumber中。对于字符串,先转换为double,再转换为NSNumber。 -
@KDaker 我知道那里有帖子,但似乎都没有解决以零结尾的双精度/浮点数/字符串的问题。例如,如果我有一个双精度为 16.00,格式化程序会将其格式化为 16。对于 1234.80 也是如此。格式化程序会将其格式化为 1,234.8 而不是 1,234.80,这就是我要寻找的。span>
-
@rmaddy 我之前尝试过 NSNumberFormatter,但它似乎没有正确转换以零结尾的小数。你知道什么可以解决这个问题吗?
标签: ios cocoa-touch formatting nsnumberformatter