很抱歉问这个问题,但是我找不到一个解决方案可以得到这个 -> 7,000 到 7000。
我正在使用 intval() 和 number_format() 但它只会给我 7 而不是 7000。
$myVal = '7,000';
echo intval($myVal);
这返回 7
number_format() 也一样
我究竟做错了什么?
很抱歉问这个问题,但是我找不到一个解决方案可以得到这个 -> 7,000 到 7000。
我正在使用 intval() 和 number_format() 但它只会给我 7 而不是 7000。
$myVal = '7,000';
echo intval($myVal);
这返回 7
number_format() 也一样
我究竟做错了什么?
如果您使用的是 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。解决方案。
intval()
由于逗号,无法使用您拥有的字符串。您可以使用删除逗号str_replace()
,然后intval()
像这样调用:
echo intval(str_replace(',', '', $myVal))