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. 将.net十进制类型转换为tsql十进制(3,3)
- 3. 如何将十六进制字符串转换为十进制?
- 4. cocoa:如何将整数类型转换为字符串类型?
- 5. 将十六进制字符串转换为数字类型并返回
- 6. 将字符串转换为Swift中的类类型
- 7. 转换十六进制字符串动态基本类型
- 8. 将十六进制值转换为C类型字符串的IP地址。
- 9. 字符串转换类型类类型
- 10. 使用显式类型转换将十六进制整数转换为字符?
- 11. 将字符串转换为十进制
- 12. 将LinqToExcel.RowNoHeader类型转换为字符串
- 13. 将MYSQL_ROW类型转换为字符串
- 14. 将字符串转换为'Date'类型
- 15. 将字符串转换为类型“LuaFunction”
- 16. 将字符串转换为类型UTCTime
- 17. 将字符串类型转换为int
- 18. 将字符串值转换为类型
- 19. 将字符串转换为字符串的泛型类型
- 20. 转换十进制sql类型为.net浮点类型
- 21. 将数据类型数字转换为十进制时出错
- 22. C#将十进制类型比较为字符串
- 23. 如何将字符串类型转换为任务型
- 24. 如何将字符串转换为泛型类型对象
- 25. Swift:将字符串转换为十六进制颜色代码
- 26. 将十六进制字符串转换为十进制
- 27. 将字符串转换为十六进制到十六进制
- 28. 将字符串十进制转换为十六进制数
- 29. 将字符串转换为XML类型(元素类型)
- 30. MongoDB将字符串类型转换为浮点类型
'de.description',但是你可能需要使用'as NSDecimalNumber'来访问'description(withLocale :)'。你也可以使用'NumberFormatter',尽管它总是先将小数转换为double,但在大多数情况下这不是问题。 – Sulthan
十进制到字符串或字符串到十进制 –