如何从双重计算中删除前导零?

时间:2017-02-23 14:35:36

标签: swift

请考虑以下内容,如何删除前导零,并保留3个小数位? savePercentageDecimals返回0.923,我想只需.923

    //Figure out Save Percentage
    let savePercentage = 12.0 / (1.0 + 12.0)
    let savePercentageDecimals = String(format: "%.3f",savePercentage)

提前致谢!

1 个答案:

答案 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