下記の方法だと、A: 4.26 B: 12.81
になるのですが、String(format: String, arguments: CVarArg...)
の内部で各々の数値の末尾に%
を付与してA: 4.26% B: 12.81%
とすることはできませんか?
swift
1let A = 4.258 2let B = 12.8132 3let text = String(format: "A: %.2f B: %.2f", A, B) 4print(text) // => A: 4.26 B: 12.81
メモ
swift
1extension NSDecimalNumber { 2 3 var percentageStrWithTwoFractionDigits: String { 4 let nf = NumberFormatter() 5 nf.minimumFractionDigits = 2 6 nf.maximumFractionDigits = 2 7 nf.numberStyle = .percent 8 9 return nf.string(for: self) ?? "" 10 } 11} 12 13let a: String = "2.2" 14let b: String = "6.6" 15 16let v = NSDecimalNumber(string: a).dividing(by: NSDecimalNumber(string: b)).percentageStrWithTwoFractionDigits 17 18print(v) //=> 33.33%
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/24 15:52
2020/09/24 15:55
2020/09/24 16:15
2020/09/24 16:27