我在将 float 限制为小数点后两位以及在 Swift 中提供逗号分隔结果时遇到问题。我尝试过以下代码:
var myNum = 99.999999
myNum = (myNum * 100).rounded() / 100
print(myNum)
//Result : 100.0, Required_Result : 99.99
let formatted = String(format: "myNum: %.2f", myNum)
//Result : 100.00, Required_Result : 99.99
例如:1234.99999 的结果应为 1,234.99
对于逗号分隔和截断到小数点后两位,我使用:
let numberFormatter = NumberFormatter()
numberFormatter.maximumFractionDigits = 2
numberFormatter.numberStyle = NumberFormatter.Style.decimal
let formattedNumber = numberFormatter.string(from: NSNumber(value: number))
return formattedNumber!
上面的代码给出了以下结果: 号码:9999.9984 结果:1,000.0 所需结果:9,999.99
最佳答案
使用NSNumberFormatter
并相应地配置其舍入模式:
let formatter = NumberFormatter()
formatter.maximumFractionDigits = 2
formatter.roundingMode = .down
let s = formatter.string(from: 99.99999)
print(s as Any) //99.99
关于ios - 将 float 限制为小数点后两位,并为 Swift 中的数字提供逗号分隔格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53941200/