Che*_*wra 0 nsnumberformatter swift3
我从webservice获得了一个特殊的双号,比如来自webservice的0.097或0.034.因此,如果我得到一个特定的数字,如0.56或0.5,我需要在0.56中加零,在0.5中加两个零.如何在swift3中执行此操作?目前我在做:
class func appendString(data: Int) -> String {
let value = data
let formatter = NumberFormatter()
formatter.minimumFractionDigits = 3 // for float
formatter.maximumFractionDigits = 3 // for float
formatter.minimumIntegerDigits = 1
formatter.paddingPosition = .afterPrefix
formatter.paddingCharacter = "0"
return formatter.string(from: NSNumber(floatLiteral: Double(value)))!
}
Run Code Online (Sandbox Code Playgroud)
任何想法如何实现上述告诉逻辑?
您在Int类型中传递数据输入的问题,因此它将始终忽略分数
看下一个例子[Swift 3.1]
func formatNumber(_ number: Double) -> String? {
let formatter = NumberFormatter()
formatter.minimumFractionDigits = 3 // minimum number of fraction digits on right
formatter.maximumFractionDigits = 3 // maximum number of fraction digits on right, or comment for all available
formatter.minimumIntegerDigits = 1 // minimum number of integer digits on left (necessary so that 0.5 don't return .500)
let formattedNumber = formatter.string(from: NSNumber.init(value: number))
return formattedNumber
}
let formattedNumber = formatNumber(0.5)
print(formattedNumber) // Optional("0.500")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
856 次 |
| 最近记录: |