[英]Decimal values get remove when convert from String to Decimal in Swift
请检查这个例子
let strValue = "12.00"
let decimalValue = Decimal(string: strValue) // 12
它总是返回 12 而不是 12.00 我也尝试使用NSNumber
、 Float
和Double
但它总是删除零。
你能帮我解决这个问题吗?
就像马丁说的。 12 和 12.00 是同一个数字。 逗号后面有多少个 0 无关紧要。
虽然数字保持不变,但表示是不同的主题。
String(format: "%.6f", 12) 将给出 12.000000 作为字符串。
编辑:
十进制是一个结构体。 数字的含义保持不变。 把这个扔到操场上。
import UIKit
let decimal = Decimal(12.0000000000)
let justAnInt = 12
let sameDecimal = decimal == Decimal(justAnInt)
看? 数学中没有无限0这样的东西。 零是有限的。 来自 12.000000 的小数和从 12 创建的小数是相同的。
12
和12.00
之间没有区别。 我们唯一需要的是将值呈现给用户。为此,您可以使用格式化的字符串。
喜欢:
String(format: "%.2f", floatValue)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.