您的位置:

php保留二位小数,php如何保留两位小数

本文目录一览:

请教,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位小数

今天处理数据的时候因为要保留2位小数,查看帮助手册

?php

$number = 1234.56;

// english notation (default)

$english_format_number = number_format($number);

// 1,235

// French notation

$nombre_format_francais = number_format($number, 2, ',', ' ');

// 1 234,56

$number = 1234.5678;

// english notation without thousands seperator

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

// 1234.57

?

PHP 保留小数点后2位

两种取值法,看你需要什么结果:

1 四舍五入(简单,自带函数就可以解决)

$youWantNum = sprintf('%.2f', $num);

//有人说用floor,floor是取整的函数,无法直接取小数;但可以转换得到结果,那就是下面的例子

2 舍去后面的,不管是什么

/*

 *$num 要处理的浮点数

 *$digits 保留的小数位数

 * 实现思路:先乘以10的小数位数次方,用floor向下取整,再除以除数得到舍去后面位数的结果

 * 最后再用sprintf配合位数再取一次值(此处是为了解决有些数字,最后一位为零时不显示问题)

 */

function floorFloat($num, $digits) {

$num = floatval($num);

$multiple = pow(10, $digits);

$tempNum = floor($num*$multiple);

return sprintf('%.'.$digits.'f', $tempNum/$multiple);

}

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