PHP实现数据四舍五⼊的⽅法⼩结【4种⽅法】
本⽂实例总结了PHP实现数据四舍五⼊的⽅法。分享给⼤家供⼤家参考,具体如下:
在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
PS:这⾥再为⼤家推荐⼏款计算⼯具供⼤家进⼀步参考借鉴:
更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》及《》希望本⽂所述对⼤家PHP程序设计有所帮助。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。