我需要数转换成具有后他们.00,但只有数量是一个整数,或者它只有1号小数点后,像这样:简单的regex在PHP,格式化十进制数
1.4 = 1.40
45 = 45.00
34.77 = 34.77
这个简单的例子使用了哪些reg exp?
我需要数转换成具有后他们.00,但只有数量是一个整数,或者它只有1号小数点后,像这样:简单的regex在PHP,格式化十进制数
1.4 = 1.40
45 = 45.00
34.77 = 34.77
这个简单的例子使用了哪些reg exp?
number_format($number, 2, '.', '');
了解更多在PHP.net。你不需要确定一个数是否是一个整数 - 只要它是一个数字,它将被格式化为两位小数。
如果您想要千位分隔符,请将最后一个参数更改为','
。
退房PHP的内置功能number_format
你可以传递一个变量,它会对其进行格式化,以正确的小数
$number = 20;
if (is_int($number)) {
$number = number_format($number, 2, '.', '');
}
$num = 0.00638835;
$avg = sscanf($num,"%f")[0] /100;
echo sprintf("%.10f", $avg);
result 0.0000638835
你能解释你在做什么以及它是如何工作的 – MZaragoza 2017-12-22 00:16:30
sscanf - 根据格式解析字符串的输入 – 2017-12-22 10:38:01
函数sscanf()是printf()的输入模拟。 sscanf()从字符串str中读取并根据指定的格式进行解释,这在sprintf()的文档中有描述。 – 2017-12-22 10:38:30
参见:http://php.net/manual/en/function.number-format.php – Yoshi 2011-05-18 12:44:47