0
私は、ユーザーが$ 1,234.56のような通貨値を入力するUITextFieldを持っています。 iPhoneアプリケーションでは、その値を浮動小数点に変換するにはどうすればよいですか?
私は、ユーザーが$ 1,234.56のような通貨値を入力するUITextFieldを持っています。 iPhoneアプリケーションでは、その値を浮動小数点に変換するにはどうすればよいですか?
値1234.56
と文字列@"$1,234.56"
の間を行き来するには、NSNumberFormatter
を使用します。
アップルはData Formatting Guideを用意しており、通貨フォーマッタを設定し使用することができます。あなたは、デリゲートメソッド
使用したいと思うでしょう、のUITextFieldでこれを統合するために
- TextFieldを:shouldChangeCharactersInRange:replacementString:
これは、ユーザーの種類、それらのように文字を検証し、更新することができますこれを実装する方法の例については、Re-Apply currency formatting to a UITextField on a change event
[変更イベントでUITextFieldに通貨書式を再適用する](http://stackoverflow.com/questions/2388448/re) -apply-currency-formatting-a-uitext-on-a-change-event) – PengOne
お金のためにフロートを使用しないでください。 NSDecimalまたは整数を100倍した整数を使用します。最終的には、丸め誤差の原因となる値の算術演算が行われます。 – zaph
[目的の文字列で浮動する可能性のある文字列](http://stackoverflow.com/questions/4831188/string-to-float-in-objective-c)または[通貨形式のテキストを二重の値に変換](http: //stackoverflow.com/questions/7343785/how-to-convert-currency-formatted-text-to-double-value-or-nsnumber-value) –