String拡張のカスタムinitメソッドを追加するにはどうしたらいいですか? UPDATEDString拡張のカスタムinitを追加するには?
let price = Double(155.15)
let formattedPrice = String(price, decimalPlaces: 2) // formattedPrice = "$155.15"
:値型の初期化子(および変異メソッドは)単純に割り当てることができる最終的な解決策
extension String {
init?(currencyAmount: Double) {
let formatter = NumberFormatter()
formatter.numberStyle = .currency
formatter.locale = Locale(identifier: NSLocalizedString("Defaults.LocaleCurrencyFormat", comment: "currency sign")) // Defaults.LocaleCurrencyFormat equal "es_US" for US
let formattedAmount = formatter.string(from: NSNumber(value: currencyAmount)) ?? ""
self.init(formattedAmount)
}
}
"* selfを' formattedString' *に設定するには?どのようにして通常どのように課題を実行しますか? (*ヒントヒント*) – Hamish
@ハミッシュおかしく面白いですが、これは私が必要としたとき初めて私に起こりました。私のJavaのバックグラウンドから、私は非常に特別な、誤解を招くような考え方に追い込まれました。 – Alexander
ハミッシュ、ヒントありがとうございました:D –