如何删除Double中小数点前的全零

时间:2017-10-08 14:45:11

标签: swift string

我有一个双关语,我希望显示为字符串,但小数点前没有零。

以下代码删除了与我想要的相反的代码,它删除了小数点后面的所有数字。

    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 / String中小数点前的全零?

2 个答案:

答案 0 :(得分:4)

使用if (preg_match("@de/(?:contact|kontakt)@", $_SERVER['REQUEST_URI'])) { 。将NumberFormatter设为minimumIntegerDigits

0

如果您要删除小数点左侧的任何数字,而不仅仅是前导0,请将let formatter = NumberFormatter() formatter.minimumFractionDigits = 2 formatter.minimumIntegerDigits = 0 let myDouble = 0.77 let myStringDouble = formatter.string(for: myDouble) 更改为minimumIntegerDigits

请注意,这也会向用户显示正确语言环境格式的值。

答案 1 :(得分:1)

你的意思是

let myDouble = 0.77
var myStringDouble = String(myDouble)

if let dotRange = myStringDouble.range(of: ".") {
    myStringDouble = myStringDouble.substring(from: dotRange.lowerBound) // lowerBound includes the decimal point
}

print(myStringDouble)