PHP实现数据进行四舍五入的4种方法

在PHP开发中,有时候我们会遇到将数据进行四舍五入的运算情况,本博文分享了用PHP实现数据四舍五入的4种方法。

php实现数据四舍五入的4种方法,分别通过number_format()函数、round()函数和sprintf()格式化以及intval()函数输出的方法实现四舍五入。严格来说最后一种不是严格的四舍五入,最后一种仅是将数据的小数部分去掉,只保留整数部分,详细情况会在下面进行讨论。

1、number_format() 方法实现四舍五入

number_format() 函数通过千位分组来格式化数字。


<?php

//定义一个float型的变量
$number = 1234.5678;

//English Notation (defult)
$number_format_english = number_format($number);
//1,235
$number_format_english = number_format($number, 2, '.', '');
//1234.57

//French Notation
$number_format_francais = number_format($number, 2, ',', '');
//1234,57
$number_format_francais = number_format($number, 3, ',', '');
//1234,568

echo $number_format_english;
//1234.57
echo $number_format_francais;
//1234,568

2、round()方法实现四舍五入

round() 函数对浮点数进行四舍五入。

<?php

//定义一个float型的变量
$number = 1234.5678;

//不保留小数
echo round($number);
//1235

//保留两位小树
echo round($number,2);
//1234.57

echo "<br>";

$number = 12345678;

//在千分位进行四舍五入
echo round($number,-4);
//12350000

3、sprintf() 格式化输入实现四舍五入

字符串格式化命令,主要功能是把格式化的数据写入某个字符串中。sprintf 是个变参函数。

<?php

//定义一个正整数
$n =  43951789;

//定义一个负整数
$u = -43951789;

// ASCII 65 is 'A'
$c = 65; 

printf("%%b = '%b'\n", $n); 
//%b = '10100111101010011010101101'
printf("%%c = '%c'\n", $c); 
//%c = 'A' 
printf("%%d = '%d'\n", $n); 
//%d = '43951789' 
printf("%%e = '%e'\n", $n); 
//%e = '4.395179e+7' 
printf("%%u = '%u'\n", $n); 
//%u = '43951789' 
printf("%%u = '%u'\n", $u); 
//%u = '4251015507' 
printf("%%f = '%f'\n", $n); 
//%f = '43951789.000000' 
printf("%%o = '%o'\n", $n); 
//%o = '247523255' 
printf("%%s = '%s'\n", $n); 
//%s = '43951789' 
printf("%%x = '%x'\n", $n); 
//%x = '29ea6ad' 
printf("%%X = '%X'\n", $n); 
//%X = '29EA6AD' 
printf("%%+d = '%+d'\n", $n); 
//%+d = '+43951789' 
printf("%%+d = '%+d'\n", $u); 
//%+d = '-43951789'

4、intval()函数实现整数输出

此方法不是严格的四舍五入执行,其将数据的小数部分强制清除达到只输出整数部分的效果。

<?php

//定义一个浮点数
$number = 1234.5678;

$number_int = intval($number);

echo $number_int;
//1234


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值