php中的简单正则表达式,格式化十进制数

时间:2011-05-18 12:42:41

标签: php regex

我需要在它们之后将数字转换为.00,但仅当数字是整数时,或者它在小数点后只有1个数字,如下所示:

1.4 = 1.40
45 = 45.00
34.77 = 34.77

这个简单案例使用什么reg exp?

5 个答案:

答案 0 :(得分:2)

您还可以使用printfsprintf

printf("%01.2f", '34.77');
$formatted_num = sprintf("%01.2f", '34.77');

答案 1 :(得分:1)

number_format($number, 2, '.', '');

PHP.net了解详情。您不需要确定数字是否为整数 - 只要它是一个数字,它将被格式化为两位小数。

如果您想要千位分隔符,请将最后一个参数更改为','

答案 2 :(得分:1)

查看PHP的内置函数number_format

您可以将变量传递给它,并将其格式化为正确的小数位

    $number = 20;
    if (is_int($number)) {
        $number = number_format($number, 2, '.', '');
    }

答案 3 :(得分:0)

阅读number_format

number_format($number, 2, '.', '');

答案 4 :(得分:0)

$num = 0.00638835;

$avg = sscanf($num,"%f")[0] /100;

echo sprintf("%.10f", $avg);

result 0.0000638835