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

Pau*_* S. 3 swift

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

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

提前致谢!

tgy*_*lsb 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
Run Code Online (Sandbox Code Playgroud)

通过使用minimumIntegerDigits上面的内容,它不会删除前导有效数字(> = 1):

let moreThan100Percent = (12.0 / (1.0 + 12.0)) + 1.0
let formattedWithDecimals = formatter.string(from: NSNumber(value: moreThan100Percent)) // 1.923
Run Code Online (Sandbox Code Playgroud)