【发布时间】:2019-09-22 18:41:17
【问题描述】:
如何将数字格式转换为以 , 分隔的格式
示例 结果字符串
"38963.26" value into "38,863.26"
"1013321.22" Value into "10,13,321.22"
//MARK:- Seperator number formate 1000 - 1,000
extension Formatter {
static let withSeparator: NumberFormatter = {
let formatter = NumberFormatter()
formatter.groupingSeparator = ","
formatter.numberStyle = .decimal
return formatter
}()
}
extension BinaryFloatingPoint {
var formattedWithSeparator: String {
return Formatter.withSeparator.string(for: self) ?? ""
}
}
let resultValue = StringValue.CGFloatValue()?.formattedWithSeparator
print("Resultant", resultValue!)
CGFloatVaule 将 String 转换为 floatValue 的默认方法。 与 String.floatValue 相同。
对于值 "38963.26" 给出结果值 "38,963.262" 我想知道为什么它像十进制中的额外 2。
print("38963.26".CGFloatValue()!.formattedWithSeparator)
Output "38,863.262"
【问题讨论】:
-
StringValue是什么? -
@ielyamani 字符串值为“38963.26”
-
CGFloatValue是什么?它是您为字符串定义的扩展吗?您可以编辑您的问题而不是在 cmets 中回复吗? -
CGFloatValue 用于将String转换为floatValue。
-
价值指标有些国家说 10 万,而其他国家说 10 万。在我的情况下,它是这样的“10,13,321.22”。
标签: ios swift number-formatting