![](/img/trans.png)
[英]Unable to convert very small string value to decimal with NumberFormatter Swift4
[英]Convert String value into Decimal
如何将字符串“1234567.00”转换为十进制1234567.00?
我使用了 CurrencySymbol.swift
https://gist.github.com/iwasrobbed/f32c01c6965665f5823d0e0c683867e2
let Value = CurrencySymbol.shared.currencyString(for: Decimal(string: repo["currencyValue"].stringValue) ?? 0.00, isoCurrencyCode: "USD")
其显示为 1234567 // 预计 $12,34,567.00
它测试了直接传递十进制值工作正常。
CurrencySymbol.shared.currencyString(for: 12345678.00, isoCurrencyCode: "USD")
这里的问题是将字符串转换为十进制。
您可以改用此扩展程序:
extension String {
func toDouble() -> Double? {
return NumberFormatter().number(from: self)?.doubleValue
}
}
并像这样使用它:
var text:String = "123"
var doubleNum:Double = text.toDouble()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.