我有一个名为values = "2"
的变量。现在当值length == 1
我需要在值之前添加0
时。如果值length ==2
不需要做任何事情。我怎么能在之前添加0
当我尝试将int转换为string.And当我得到最后6位数时像:
Number = "123456789"
这时我试图获得最后5位数值。然后它的打印如下:
[ "7" "8" "9" ")" """ ]
如何单独提取数字..这是我的代码:
let Acc = info.TotalNo
let U = "\(Acc)"
let AccountNos = String(U.characters.suffix(5))
let list = AccountNos.characters.map { String($0) }
然后它的印刷如下:
[ "7" "8" "9" " closeBracket" " double colon " ]
但我想:
[ "5" "6" "7" "8" "9" ]
我知道2个问题是不允许的。但是这两个让我打破更多的代码..请给我一些解决方案..
由于
答案 0 :(得分:2)
你可以像这样格式化你的号码:
let format = "%02d"
let smallNumber = 2
let largerNumber = 13
let formattedSmallNumber = String(format: format, smallNumber)
// "02"
let formattedLargerNumber = String(format: format, largerNumber)
// "13"
答案 1 :(得分:1)
<强>更新强> 你得到一个可选的,所以这个代码应该运行正常
if let Acc = info.TotalNo {
let U = "\(Acc)"
let AccountNos = String(U.characters.suffix(5))
let list = AccountNos.characters.map { String($0) }
}
我在代码中做了一些更改
let number = 123456789
let Acc = "\(number)" //let U = "\(Acc)"
let AccountNos = String(Acc.characters.suffix(5))
let list = AccountNos.characters.map { String($0) }
print(list)
我认为您的解决方案存在问题
let Acc = info.TotalNo
你没有得到号码
如果你想要最后六位数
let number = "123456789"
let AccountNos = String(number.characters.suffix(6))
let list = AccountNos.characters.map { String($0) }
print(list)
现在在数字前加0前缀
let value = "2"
var newValue = ""
if value.characters.count == 1 {
newValue = "0\(value)"
}
print(newValue)
答案 2 :(得分:1)
关于你的第一个问题,有两种方法都可以使用
Using NSMutableString:
var val: NSMutableString = "2"
if val.length == 1 {
val.insert("0", at: 0)
}
Using String:
var val2 = "1"
if val2.characters.count == 1 {
val2.insert("0", at: val2.startIndex)
}
关于你的第二个问题
let number = "123456789"
let string = number.substring(from: number.index(number.startIndex,
offsetBy: 4))
var list = Array(string.characters)
答案 3 :(得分:0)
你走了 第一部分使用
if values.characters.count < 2 {
values = "0\(values)"
}
第二部分你可以使用
var number = "123456789"
let Acc = "\(number)"
let AccountNos = String(Acc.characters.suffix(5))
let list = AccountNos.characters.map { String($0) }
答案 4 :(得分:0)
var values = "2"
let length = values.characters.count
if length == 1 {
values = "0" + values
}
如果您希望将字符串转换为Int或double
let doubleVal = Double(values)
答案 5 :(得分:0)
第一种方法
for myInt in 1...100 {
print(String(format: "%02d", myInt))
}
第二种方法使用 参数
let string0 = String(format: "%02d", arguments: [0]) // returns "00"
let string1 = String(format: "%02d", arguments: [1]) // returns "01"
let string2 = String(format: "%02d", arguments: [10]) // returns "10"
let string3 = String(format: "%02d", arguments: [100]) // returns "100"
使用 NumberFormatter 第三种方法
let formatter = NumberFormatter()
formatter.minimumIntegerDigits = 2
let optionalString0 = formatter.string(from: 0) // returns Optional("00")
let optionalString1 = formatter.string(from: 1) // returns Optional("01")
let optionalString2 = formatter.string(from: 10) // returns Optional("10")
let optionalString3 = formatter.string(from: 100) // returns Optional("100")