9

很抱歉问这个问题,但是我找不到一个解决方案可以得到这个 -> 7,000 到 7000。

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

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

这返回 7

number_format() 也一样

我究竟做错了什么?

4

2 回答 2

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)

如果您使用低于 5.3 的 PHP 版本,则最好使用@KevinS。解决方案。

于 2012-06-14T04:43:22.263 回答
10

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

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

于 2012-06-14T04:28:49.533 回答