2012-06-14 49 views
6

對不起,問這個,但我不能找到一個解決方案,得到這個 - )> 7000〜7000PHP轉換格式INT爲int

我使用INTVAL(和number_format(),但它只是給我不7 7000

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

這將返回7

上也是如此number_format()

我究竟做錯了什麼?

+0

您的php安裝是否已經本地化到一個國家,','是小數點分隔符? – gcochard

+0

請查看@Greg所說的本地化,順便說一下,您使用的是Windows嗎? –

回答

6

intval()由於逗號而無法使用您所使用的字符串。您可以通過使用str_replace(),然後調用intval()像這樣刪除逗號:

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

10

如果你正在使用PHP> = 5.3(或安裝了「國際」擴展,至少有1.0版本),那麼你也可以使用NumberFormatter類來解析特定於語言環境的數字。

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

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

# output: int(7000) 

如果您使用的PHP版本低於5.3,您最好使用@KevinS。解。

+0

這是一個更好的答案,謝謝! – thefreeman