2017-02-23 110 views
3

请考虑以下事项,如何删除前导零并保留3位小数位? savePercentageDecimals返回0.923,我只想.923如何从双重计算中删除前导零?

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

在此先感谢!

+0

不知道有什么做这件事。如何在'String'中转换'Double'并删除第一个'Character' fi,你认为它始终是'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 
+0

感谢您的快速响应,效果很好。谢谢! –