很抱歉问这个问题,但是,我找不到一个解决方案可以得到这个 -> 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))