在Swift中保持.doubleValue()的尾随零

Nic*_*hrn 1 double swift

我正在开发一个需要在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无论如何,我都会不断取得结果。我缺少转换的显而易见的部分是什么?

Ica*_*aro 5

您必须使用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,可以根据需要调整最小和最大小数位数。

希望对您有所帮助!