我有一个双关语,我希望显示为字符串,但小数点前没有零。
以下代码删除了与我想要的相反的代码,它删除了小数点后面的所有数字。
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中小数点前的全零?
答案 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)