2011-08-05 58 views
0

我有這種情況:IOS:textfield和double值

我應該在文本字段中寫入歐元值。 如果在此文本字段中寫入「10」,我應該存儲一個雙精度值「10.00」,或者如果我寫入「10,1」,我應該存儲一個雙精度「10,10」或者如果我寫「10,23」我應該存儲「10,23」

我該怎麼辦?

回答

5

這應有助於:(。例如用戶輸入)

double val = [[textField text] doubleValue];

+0

好的,如果在textfield裏面寫「10.23」或「10,23」是一樣的東西?有什麼不同? – CrazyDev

+0

該死的,我沒有注意到這個逗號。好的,你可以使用不同的構造,這將刪除**逗號**出現在字符串**點**(這將是好的,如果此字段僅用於數字輸入)'雙重val = [[[textField文本] stringByReplacingOccurrencesOfString: @「,」withString:@「。」] doubleValue];' –

+0

好的,非常感謝 – CrazyDev

2

如果你想支持本地化的數字,-[NSNumberFormatter numberFromString:]是要走的路。由於這將返回一個NSNumber你可以使用-[NSNumber doubleValue]雙重價值:

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

這是propper的方式,不是標記的答案! (1up) –

0

您可以像使用字符串轉換的類型轉換到雙精度值。

+0

不,類型轉換將不起作用 - 既不會轉換爲「double」也不轉換爲「NSNumber」。 – gcbrueckmann