Swift

[Swift]0.0の時は0、0.11の時は0.11にする

0.0の時は0、0.11の時は0.11にする

何が言いたいかというと、無駄な小数点以下の0は表示したくない。
暗号通貨の残高表示とか実装する時、物によっては小数点18桁とかになるので
0.000000000000000000 ETC
とか表示したくない。

ぱっと思いつくのは%,.18fみたいなformatで文字列を作る方法だけど、Swiftの場合はNumberFormatを使う。

let formatter = NumberFormatter()
formatter.minimumFractionDigits = 0
formatter.maximumFractionDigits = 18
let balance = formatter.string(from: NSNumber(floatLiteral: balance)) ?? "0"
let symbol = "ETC"
"\(balance)\(symbol)" // 0ETC