php将格式化的int转换为int

时间:2012-06-14 04:24:12

标签: php number-formatting

很抱歉问这个,但我找不到能得到这个的解决方案 - > 7,000到7000。

我正在使用intval()和number_format(),但它只会给我7而不是7000。

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

这会返回7

与number_format()

相同

我做错了什么?

2 个答案:

答案 0 :(得分:11)

如果您使用的是PHP> = 5.3(或安装了“intl”扩展名,至少版本为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。溶液

答案 1 :(得分:7)

由于逗号,

intval()将无法使用您拥有的字符串。您可以使用str_replace()删除逗号,然后像这样调用intval()

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