请考虑以下内容,如何删除前导零,并保留3个小数位? savePercentageDecimals返回0.923,我想只需.923
//Figure out Save Percentage
let savePercentage = 12.0 / (1.0 + 12.0)
let savePercentageDecimals = String(format: "%.3f",savePercentage)
提前致谢!
答案 0 :(得分:6)
NumberFormatter
是您在将数字显示为字符串时要使用的类。在您的情况下,这将工作:
let formatter = NumberFormatter()
formatter.minimumIntegerDigits = 0
formatter.minimumFractionDigits = 3
formatter.maximumFractionDigits = 3
let savePercentage = 12.0 / (1.0 + 12.0)
let savePercentageDecimals = formatter.string(from: NSNumber(value: savePercentage)) // .923
通过使用上面的minimumIntegerDigits
,它不会删除前导有效数字(> = 1):
let moreThan100Percent = (12.0 / (1.0 + 12.0)) + 1.0
let formattedWithDecimals = formatter.string(from: NSNumber(value: moreThan100Percent)) // 1.923