0

私からいいねtextfieldをもらいstringます25,50

stringこれをに変換したいfloat。しかし、使用するmyFloat = [mytextfiel.text floatValue];と、25.00.

のようなフロートを取得する方法はあり25.50ますか?

4

5 に答える 5

2

just replace the comma with a dot when you extract the float

myFloat = [[mytextfiel.text stringByReplacingOccurrencesOfString:@"," withString:@"."] floatValue];
于 2013-06-06T10:32:44.917 に答える
1

または、 を使用NSLocaleして何をすべきかを判断し、NSScanner にアクセスできない場合にそれを実行できますNSNumberFormatter

  1. 1.000.000,00-> 1000000,00のように数字のグルーパーを洗い流します
  2. 数字以外の先頭文字をスキャンします。
  3. 数値の整数部分を文字列としてスキャンします。
  4. 整数部分と小数部分の間の数字以外の文字をスキャンします。
  5. 小数部分を文字列としてスキャンします。
  6. 文字列を format で再構築します@"%@.%@"
  7. 再構築された文字列を解析します。

これにより、ほぼすべての使用例が解析されます。たとえば、ドイツ語で 1.500,50€、フランス語で 1,500€50、英語で $1500.50 はすべて数値になります。1500.5

于 2013-06-06T11:04:38.507 に答える
0

浮動小数点数は (世界のどの地域に関係なく) 小数点形式に従う必要があります。これは、文字列の最終製品に . コンマの代わりに。データベースに保存する前、または値を処理する前に置き換えることをお勧めします。

于 2013-06-06T10:31:09.803 に答える