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

问题描述 投票:2回答:5

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

1.4 = 1.40
45 = 45.00
34.77 = 34.77

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

php regex
5个回答
1
投票
number_format($number, 2, '.', '');

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

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


2
投票

你也可以使用printfsprintf

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

1
投票

查看PHP的内置函数number_format

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

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

0
投票

number_format

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

0
投票
$num = 0.00638835;

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

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

result 0.0000638835
© www.soinside.com 2019 - 2024. All rights reserved.