本文目录一览:
请教,php保留两位小数,但不四舍五入
使用bc一类的函数,按字符串方式运算即可。
/**
* 数值非四舍五入保留两位小数
* @author Zjmainstay
* @website
* @param $num 数值
* @return 保留两位小数
*/
function getNum($num, $scale = 2) {
$numStr = (string)$num . str_repeat('0', $scale);
//匹配精度前的数值
if(preg_match('#^\d+\.\d{0,'.$scale.'}#', $numStr, $match)) {
return $match[0];
} else {
return '0';
}
}
echo getNum(10.0253) . "\n";
echo getNum(0.5) . "\n";
PHP怎么定义保留2位小数的变量
在php中要保留两位小数的方法有很多种办法,有如:printf,substr,number_format,round等等方法
方法一
sprintf()函数 ,sprintf() 函数把格式化的字符串写写入一个变量中
?php
$number = 123;
$txt = sprintf("%f",$number);
echo $txt;
?
输出:
123.000000
方法二 substr()函数
$num = 123213.666666;
echo sprintf("%.2f",substr(sprintf("%.3f", $num), 0, -2));
方法三 number_format()函数
$number = 1234.5678;
$nombre_format_francais = number_format($number, 2, ',', ' '); // 1234,57
$english_format_number = number_format($number, 2, '.', ''); // 1234.57(我一般用这个)
方法四 round 函数,round() 函数对浮点数进行四舍五入。
?php
echo(round(0.60));
echo(round(0.50));
echo(round(0.49));
echo(round(-4.40));
echo(round(-4.60));
?
输出:
1
1
-4
-5
如果要保留小数,后来参数根保留小数位数即可。
$number = 1234.5678;
echo round($number ,2); //1234.57
用php使数字保留小数点后两位怎么做的?
PHP 中的 round() 函数可以实现
round() 函数对浮点数进行四舍五入。
round(x,prec)
参数说明
x 可选。规定要舍入的数字。
prec 可选。规定小数点后的位数。
返回将 x 根据指定精度 prec (十进制小数点后数字的数目)进行四舍五入的结果。prec 也可以是负数或零(默认值)。
注释:PHP 默认不能正确处理类似 "12,300.2" 的字符串。
例如:
?php
echo round(-4.635,2);
?
输出: -4.64
PHP如何保留2位小数
要分2种情况。
1、数值不变,只在输出时保留2位小数。
echo sprintf('%.2f', 3.1415);
2、数值上保留2位
echo round(3.1415, 2);