* @name 小数位截取格式化金额 例如 100000.00 -> 100,000.00
* @param float $num [格式化前的金额]
* @param integer $dist [保留的小数位数]
* @param BOOL $zeroComplete [小数位不够dist时,是否用0补齐]
* @return [type] [description]
if (!function_exists('numberFormat')) {
function numberFormat($num = 0, $dist =2, $zeroComplete = TRUE) {
if (!preg_match('/^(-?\d+)(\.\d+)?$/', $num)) {
return $num;
if ($dist > 4) {
$dist = 4;
}else if ($dist <= 0) {
$dist = 0;
if (!is_bool($zeroComplete)) {
$zeroComplete = TRUE;
$newNum = floor($num * pow(10, $dist)) / pow(10, $dist);
if (!$zeroComplete) {
//去掉小数末尾的0
$newNum = floatZeroCut($newNum);
$pos = strpos(strval($newNum), '.');//获取小数点位置
if (!$pos) {
//如果没找到
$dist = 0;
}else {
$dist = strlen(strval($newNum)) - $pos - 1;
$result = number_format($newNum, $dist);
return $result;
* 自动去掉小数末尾的0
* @param float $num [小数]
* @return float [返回去掉小数末尾0的小数]
if (!function_exists('floatZeroCut')) {
function floatZeroCut($num = 0.00) {
if (!preg_match('/^(-?\d+)(\.\d+)?$/', $num)) {
return '参数错误';
if ((int)($num) == $num) {
return $num;
$strNum = strval($num);
if (substr($num, -1) == '0'){
$strNum = substr($strNum, 0, strlen($num) - 1);
return floatZeroCut(floatval($strNum));
}else {
return floatval($strNum);
格式化金额,小数位截取而非四舍五入 100,000.00 * @param float $num [格式化前的金额] * @param integer $dist [保留的小数位数] * @param BOOL $zeroComplete [小数位不够di
echo bcdiv(2,3,2); 2/3 =0.66… 保留小数点两位 不
四舍五入
Output:0.66
echo bcdiv(2,3,3); 2/3 =0.666… 保留小数点三位 不
四舍五入
Output:0.666
echo bcdiv(2,3,4); 2/3 =0.6666… 保留小数点四位 不
四舍五入
Output:0.6666
算概率时:
echo bcdiv(2,3,2) * 100 ; 2/3 * 100 =66… 保留小数点两
echo bcdiv(2,3,2); 2/3 =0.66... 保留小数点两位 不
四舍五入
Output:0.66
echo bcdiv(2,3,3); 2/3 =0.666... 保留小数点三位 不
四舍五入
Output:0.666
echo bcdiv(2,3,4); 2/3 =0.6666.... 保留小数点四位 不
四舍五入
Output:...
网上靠前排名的要么是
四舍五入
,要么就是一些杂七杂八,没写原理的代码,运行大部分没问题,小部分数字会被舍去,或者增加
这对于交易笔数很多的流水来说,这是致命的,所以才有了上面函数。
至于文章质量较低。。。。好吧,本文只介绍了怎
// number_format方法
$number_format $number = 1234.5678;
$nombre_format_francais = number_format($number, 2, ',', ' '); // 1 234,57
$english_format_number = number_format($number, 2, '.', ''); // 1
PHP
取整数函数常用的四种方法:
1.直接取整,舍弃小数,保留整数:intval();2.
四舍五入
取整:round();3.向上取整,有小数就加1:ceil();4.向下取整:floor()。
一、intval—对变数转成整数型态
intval如果是字符型的会自动转换为0。
二、
四舍五入
:round()
根据参数2指定精度将参数1进行
四舍五入
。参数2可以是负数或零(默认值)。