2012-06-14 18 views
6

をintにフォーマットされたint型に変換しかし、私はこれを取得するソリューション見つけカント - > 7000 7000へPHPはこれを求めて申し訳ありません

を私は)((INTVAL)とをnumber_formatを使用していますが、それだけで与えます私の7ない7000

$myVal = '7,000'; 
echo intval($myVal); 

これは7

同じを返します(をnumber_formatとなる)

私が間違って何をやっていますか?

+0

PHPのインストールは '、'が小数点区切り記号の国にローカライズされていますか? – gcochard

+0

あなたのローカリゼーションで@GregがWindowsを使っているかどうかチェックしてください。 –

答えて

6

intval()は、カンマのためにあなたが持っている文字列では機能しません。あなたは、あなたがPHP> = 5.3を使用している場合

echo intval(str_replace(',', '', $myVal))

10

(あるいは少なくともバージョン1.0で、「国際」の拡張子がインストールされている):あなたはstr_replace()を使用して、intval()そうのように呼び出すことで、コンマを削除することができますNumberFormatterクラスを使用してロケール固有の番号を解析することもできます。

$myVal = '7,000'; 
$nf = new NumberFormatter("en_EN", NumberFormatter::DECIMAL); 

var_dump($nf->parse($myVal, NumberFormatter::TYPE_INT32)); 

# output: int(7000) 

5.3より小さいPHPバージョンを使用している場合は、@KevinSを使用する方がよいでしょう。溶液。

+0

これは良い答えです、ありがとう! – thefreeman

関連する問題