我无法使用number_format()
消除.06我想做的是:
56.00 => 56
56.10 => 56.10
56.06 => 56
我是用正则表达式做的,但我不能消除它,也许我的陈述是错误的。
$num = 50.06;
$num = preg_replace("/\.0*$/",'',$num);
我需要你的帮助
提前致谢
答案 0 :(得分:1)
正则表达式:
/\.0[0-9]+/
工作DEMO。
所以:
$num1 = 50.06;
$num1 = preg_replace("/\.0[0-9]+/",'',$num1); //50
$num2 = 50.10;
$num2 = preg_replace("/\.0[0-9]+/",'',$num2); //50.1
参考:
答案 1 :(得分:0)
正确的正则表达式是 \.0[0-9]{1}$
preg_replace的最后一个参数是$ num
答案 2 :(得分:0)
这可能是愚蠢的,因为我已经厌倦并准备出发,但是:
if(($num - intval($num)) > .1) {
$num = number_format($num, 2);
} else {
$num = number_format($num, 0);
}
答案 3 :(得分:-3)
$num = 56.06;
echo $num = number_format($num, 0);