我正在开发一个需要在Swift中显示和计算Double类型的应用程序。我创建的结构将Double用作参数,并且由于它也显示了它,因此我想在值的末尾保留尾随零。但是,我似乎无法阻止尾随零被截断。
这是我在游乐场中尝试过的事情:
let numberString = "-3.60"
// "3.60"
let positiveString = numberString.stringByReplacingOccurrencesOfString("-", withString: "", options: nil, range: nil)
// 3.6
let positiveDouble = (positiveString as NSString).doubleValue
// "3.60"
let positiveDoubleString = NSString(format: "%0.02f", positiveDouble)
// 3.6
let positiveDoubleWithZeros = positiveDoubleString.doubleValue
Run Code Online (Sandbox Code Playgroud)
3.6无论如何,我都会不断取得结果。我缺少转换的显而易见的部分是什么?
您必须使用NSNumberFormatter:
let formatter = NSNumberFormatter()
formatter.minimumFractionDigits = 2
formatter.maximumFractionDigits = 3
println(formatter.stringFromNumber(1.0000))
println(formatter.stringFromNumber(1.2345))
Run Code Online (Sandbox Code Playgroud)
本示例将在第一种情况下打印1.00,在第二种情况下打印1.234,可以根据需要调整最小和最大小数位数。
希望对您有所帮助!
| 归档时间: |
|
| 查看次数: |
1850 次 |
| 最近记录: |