0
A
回答
0
你可以简单地转换就像下面,
let decimalValue = Decimal(string:"12.34")
let stringValue = decimalValue?.description
print(stringValue ?? "Conversion Failed")
0
使用NSNumberFormatter
解析您的输入。其generatesDecimalNumbers
属性设置为true:
let formatter = NumberFormatter()
formatter.generatesDecimalNumbers = true
这里是你如何使用它,如果你想返回0时,字符串不能被解析:
func decimal(with string: String) -> NSDecimalNumber {
return formatter.number(from: string) as? NSDecimalNumber ?? 0
}
decimal(with: "80.00")
// Result: 80 as an NSDecimalNumber
默认情况下,格式化会看设备的区域设置来确定小数点标记。你应该这样离开它。例如起见,我将它强制法文场所:
// DON'T DO THIS. Just an example of behavior in a French locale.
formatter.locale = Locale(identifier: "fr-FR")
decimal(with: "80,00")
// Result: 80
decimal(with: "80.00")
// Result: 0
如果你真的想始终使用逗号作为小数点标记,可以设置decimalSeparator
属性:
formatter.decimalSeparator = ","
相关问题
- 1. 如何将十六进制字符串转换为十进制?
- 2. cocoa:如何将整数类型转换为字符串类型?
- 3. 转换十六进制字符串动态基本类型
- 4. 将字符串转换为Swift中的类类型
- 5. 字符串转换类型类类型
- 6. 将字符串转换为十进制
- 7. 将字符串转换为'Date'类型
- 8. 将字符串值转换为类型
- 9. 将字符串转换为类型UTCTime
- 10. 将字符串类型转换为int
- 11. 将字符串转换为类型“LuaFunction”
- 12. 将MYSQL_ROW类型转换为字符串
- 13. 将字符串转换为字符串的泛型类型
- 14. C#将十进制类型比较为字符串
- 15. 如何将字符串转换为泛型类型对象
- 16. 将字符串转换为十六进制到十六进制
- 17. Swift:将字符串转换为十六进制颜色代码
- 18. MongoDB将字符串类型转换为浮点类型
- 19. 将类型字符串转换为类型对象
- 20. 将字符串转换为十进制字符串并返回十进制
- 21. 如何将值类型[String]转换为[Struct]类型 - Swift
- 22. SAS宏整型转换为十六进制字符串
- 23. 在泛型类中将字符串强制转换为数字
- 24. 如何转换为Protobuf.js中的十进制类型
- 25. 将ASCII字符转换为十六进制转义字符串
- 26. 将十六进制字符串转换为字符串
- 27. Swift3将字符串值转换为十六进制字符串
- 28. 如何将十六进制字符串转换为十六进制?
- 29. 如何在Perl中将十进制数转换为十六进制字符串?
- 30. 将int转换为十进制数据类型的过程?
'de.description',但是你可能需要使用'as NSDecimalNumber'来访问'description(withLocale :)'。你也可以使用'NumberFormatter',尽管它总是先将小数转换为double,但在大多数情况下这不是问题。 – Sulthan
十进制到字符串或字符串到十进制 –