eri*_*osg 11 string-formatting swift
这在Swift(1.2)
let doubleValue1 = Double(10.116983123)
println(String(format: "%.2f", doubleValue1))
let doubleValue2 = Double(10.0)
println(String(format: "%.2f", doubleValue2))
Run Code Online (Sandbox Code Playgroud)
打印
10.12
10.00
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种使用格式化程序或直接字符串格式而不是通过字符串操作来删除尾随零的方法,以便打印:
10.12
10
Run Code Online (Sandbox Code Playgroud)
我得到的最接近的是:
let doubleValue3 = Double(10.0)
println(String(format: "%.4g", doubleValue3))
Run Code Online (Sandbox Code Playgroud)
但是g使用有效数字,这意味着我必须分别计算我的小数位数.这听起来像一个丑陋的解决方案.
演示:http://swiftstub.com/651566091/
有任何想法吗?TIA.
Ica*_*aro 36
你必须使用NumberFormatter:
let formatter = NumberFormatter()
formatter.minimumFractionDigits = 0
formatter.maximumFractionDigits = 2
print(formatter.string(from: 1.0000)!) // 1
print(formatter.string(from: 1.2345)!) // 1.23
Run Code Online (Sandbox Code Playgroud)
这个例子将为第一种情况打印1,为第二种情况打印1.23; 可根据需要调整最小和最大小数位数.
我希望能帮到你!
| 归档时间: |
|
| 查看次数: |
7431 次 |
| 最近记录: |