我无法将Decimal值设置为特定数字571.97,而没有精度错误。 Double和Floats保持精度,但是Decimal和NSDecimalNumber的偏移量不同。谁能看看这个,然后告诉我我要去哪里错了?我使用以下代码在Playground中重现了该问题:
import Foundation
let decimal: Decimal = 571.97 // 571.9700000000001024
let double: Double = 571.97 // 571.97
let float: Float = 571.97 // 571.97
let nsDecimalNumber: NSDecimalNumber = 571.97 // 571.9700000000003
let decimalizedDouble = Decimal(floatLiteral: double) // 571.9700000000001024