我想在数字的末尾附加零,但有些情况下不需要它。例如,
150.1 //output should be 150.10
150.0 //output should be 150
150.00 //output should be 150
150.01 //output should be 150.01
150.10 //output should be 150.10
因此,如果该号码有.
且.
后只有一位数且该数字不是0
,那么我想在最后附加0
否则我想将其显示为十进制数。我认为需要一个正则表达式来解决这个问题,但我不擅长它,所以任何帮助都非常感激。
答案 0 :(得分:2)
尝试这样的事情:
if (intval($numberToTest) != $numberToTest) {
$numberFormated = number_format($numberToTest, 2);
}
答案 1 :(得分:1)
将数字格式化为两个尾随零,然后使用正则表达式删除模式 - .
后跟一个或多个零。这样做的一个小功能:
function clean_num($num) {
$num = number_format($num, 2, '.', '');
return preg_replace('~\.0*$~', '', $num);
}
测试用例:
$numbers = array('150.1','150.0','150.00','150.01','150.10');
foreach ($numbers as $number) {
echo clean_num($number).'<br>';
}
输出:
150.10
150
150
150.01
150.10