我有一个 double ,我想将其显示为字符串但小数点前没有零。
下面的代码删除了与我想要的相反的内容,它删除了小数点后的所有数字。
let myDouble = 0.77
var myStringDouble = String(myDouble)
if let dotRange = myStringDouble.range(of: ".") {
myStringDouble.removeSubrange(dotRange.upperBound..<myStringDouble.endIndex)
}
print(myStringDouble)
// ideal result based on double 0.77 would be .77
如何删除 double /字符串中小数点前的所有零?
最佳答案
使用 NumberFormatter
。将 minimumIntegerDigits
设置为 0
。
let formatter = NumberFormatter()
formatter.minimumFractionDigits = 2
formatter.minimumIntegerDigits = 0
let myDouble = 0.77
let myStringDouble = formatter.string(for: myDouble)
如果要删除小数点左侧的任何数字,而不仅仅是前导 0,请将 minimumIntegerDigits
更改为 maximumIntegerDigits
。
请注意,这还会以正确的语言环境格式向用户显示一个值。
关于swift - 如何删除 Double 中小数点前的所有零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46632370/