swift - 如何删除 Double 中小数点前的所有零

标签 swift string

我有一个 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/

相关文章:

ios - shouldChangeCharactersInRange 接受单个 '.'

c++ - 两个 vector <string>串联

javascript - 如何使用正则表达式匹配多个值返回单个值?

c - C中的字符串反转

c - 将 char 转换为 int 作为 isspace 参数的惯用方法?

java - 字符串应保持与 TextArea 类似的换行符

swift - 在不影响资源的情况下处理 Swift DispatchQueue

ios - 如何添加样式?

ios - Swift:prepareForSegue 和 instantiateViewController 之间的区别

xcode - 如何在 Swift 中突出显示分段控制中最后触摸的段?