我在PHP代码中有以下代码:
$net_pay = 8345.24;
$net_pay = str_replace(',', '', $net_pay);
$net_pay = number_format($net_pay);
str_replace不会删除逗号。如果我是var_dump,我得到了字符串(5)“8,345”
有什么想法吗?我只是需要删除逗号,以便我可以计算。
答案 0 :(得分:2)
number_format()正在做它应该做的事情。
如果给出了所有四个参数,则数字将格式化为十进制小数,dec_point而不是小数点前的点("。")和千位_sep而不是逗号(",& #34;)每组成千上万。
http://php.net/manual/en/function.number-format.php
只需在number_format()之后调用str_replace()。
或更简单地说,
$net_pay = 8345.24;
$net_pay = number_format ($net_pay, 0 , "", "");
答案 1 :(得分:1)
删除number_format()它会将数字转换为逗号分隔值,请尝试使用此
$net_pay = trim($emp->net_pay, ' ');
$net_pay = mb_substr($net_pay, 0, 11);
$net_pay = str_replace('.', '', $net_pay);
echo $net_pay;
答案 2 :(得分:1)
number_format()函数格式化一个数字为千位的数字。 如果你想在没有分离的情况下进行评估,那么就不要使用它。
现在来自下面的小数使用的round值:
$randVal = round( 8345.24);
print($randVal);//Out put 8345
希望这对你有所帮助!
答案 3 :(得分:0)
您使用的number_format可能会导致问题。请尝试以下代码。
$net_pay = "8,345";
$net_pay = str_replace(',', '', $net_pay);
echo $net_pay;
答案 4 :(得分:0)
number_format
会添加逗号,因此请在str_replace
之前使用。使用方法如下:
$net_pay = 8345.24;
$net_pay = number_format($net_pay);
$net_pay = str_replace(',', '', $net_pay);
答案 5 :(得分:0)
只需将net_pay变量字符串类型设为make
即可$net_pay="2,334";
$net_pay = str_replace(',', '', $net_pay);