我在将浮点数限制为两个小数位方面遇到了问题,并且在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的结果应为1234.99
对于逗号分隔和截断到两个小数位,我使用了:
let numberFormatter = NumberFormatter()
numberFormatter.maximumFractionDigits = 2
numberFormatter.numberStyle = NumberFormatter.Style.decimal
let formattedNumber = numberFormatter.string(from: NSNumber(value: number))
return formattedNumber!
以上代码给出以下结果:
编号:9999.9984
结果:1000.0
要求结果:9999.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 - 将浮点数限制为小数点后两位,并为Swift中的数字提供逗号分隔格式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53941200/