2011-08-05 4 views
0

私はこの状況にあります:IOS:テキストフィールドとダブル値

私はテキストフィールドにユーロで値を書き込む必要があります。 このテキストフィールドの中に "10"を書き込む場合、二重の値 "10.00"で保存するか、 "10,1"を書き込む場合は二重の "10,10"に保存するか、 "10,23"私は "10,23"を保存する必要があります

どうすればいいですか?

答えて

5

これは役立つはずです。(。。E Gユーザー入力)

あなたがローカライズされた数字をサポートしたい場合は

double val = [[textField text] doubleValue];

+0

「10.23」または「10,23」のテキストフィールド内に同じものがある場合、違いは何ですか? – CrazyDev

+0

くそ、私はそのコンマに気付かない。 **あなたが文字列の中の**カンマ**のオカレンスを**ドット**に取り除く異なる構造を使うかもしれません(このフィールドが数字入力のためだけに使用されていればOKです)。 'double [= [[textField text] stringByReplacingOccurrencesOfString: @ "、" withString:@ "。"] doubleValue]; ' –

+0

okありがとうございます – CrazyDev

2

-[NSNumberFormatter numberFromString:]が移動するための方法です。これはNSNumberを返すので、あなたは-[NSNumber doubleValue]を使用して二重の値を取得することができます

NSNumber *number = [numberFormatter numberFromString:inputString]; 
double doubleValue = [number doubleValue]; 
+0

これは、これを行うための方法であり、マークされた答えではありません! (1up) –

0

あなたはdouble値に変換文字列のような型キャストを使用することができます。

+0

いいえ、型キャスティングは機能しません。「double」でも「NSNumber」でもキャストできません。 – gcbrueckmann

関連する問題