Это в Swift (1.2)
let doubleValue1 = Double(10.116983123)
println(String(format: "%.2f", doubleValue1))
let doubleValue2 = Double(10.0)
println(String(format: "%.2f", doubleValue2))
Печать
10.12
10.00
Я ищу способ с использованием форматирования или прямого формата строки, а не с помощью строковых манипуляций, чтобы удалить конечные нули, поэтому для печати:
10.12
10
Ближайший я получил:
let doubleValue3 = Double(10.0)
println(String(format: "%.4g", doubleValue3))
Но g
использует значимые цифры, что означает, что мне придется вычислять цифры десятичных знаков отдельно. Это звучит как уродливое решение.
Демо: http://swiftstub.com/651566091/
Любые идеи? ТИА.