私はSwiftプログラミングには新しく、Xcode 8.2で簡単なチップ電卓アプリを作成していましたが、私の計算は下記のIBAction
に設定しました。しかし、私は実際に私のアプリを実行し、(23.45のような)計算するための金額を入力すると、2桁以上の小数点が表示されます。この場合、どうすれば.currency
にフォーマットするのですか?Doubleを通貨に変換する方法 - スウィフト3
String(format: "Tip Amount: $%.02f", tipAmount)
あなたはそれがデバイスのロケール設定に完全に依存するようにしたい場合は、あなたが使用する必要があります:あなたは$に通貨を強制したい場合は、この文字列の初期化子を使用することができます
@IBAction func calculateButtonTapped(_ sender: Any) {
var tipPercentage: Double {
if tipAmountSegmentedControl.selectedSegmentIndex == 0 {
return 0.05
} else if tipAmountSegmentedControl.selectedSegmentIndex == 1 {
return 0.10
} else {
return 0.2
}
}
let billAmount: Double? = Double(userInputTextField.text!)
if let billAmount = billAmount {
let tipAmount = billAmount * tipPercentage
let totalBillAmount = billAmount + tipAmount
tipAmountLabel.text = "Tip Amount: $\(tipAmount)"
totalBillAmountLabel.text = "Total Bill Amount: $\(totalBillAmount)"
}
}
FYI - フォーマッタの 'locale'を' Locale.current'に設定する必要はありません。デフォルトであるためです。 – rmaddy
ええ、私はそれが冗長だと言うコメントを追加しました。それを簡単に変更することができることを示すためにそこに保持したい。 –
非常にうまくいった。 –