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

3

考虑以下问题,如何去除前导零并保留三位小数?savePercentageDecimals返回0.923,我只想要.923

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

提前感谢您!


不确定是否有相应的方法。如果您假设第一个字符始终为“0”,那么将Double转换为String并删除第一个Character如何? - Luca D'Alberti
1个回答

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

谢谢您的快速回复,非常好用。谢谢! - Paul S.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接