我是靠谱客的博主 跳跃魔镜,最近开发中收集的这篇文章主要介绍PHP 操作小数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

PHP数字补零的两种方法

在php中有两个函数——至少有两个是否有其他的我还不知道,能够实现数字补零,str_pad(),sprintf()详细如下

一、str_pad

顾名思义这个函数是针对字符串来说的这个可以对指定的字符串填补任何其它的字符串

例如:str_pad(带填补的字符串,填补后的长度,填补字符串,填补位置)

其中填补后的长度必须是个正整数,填补位置有三个选项,

左边:STR_PAD_LEFT,

右边:STR_PAD_RIGHT,

两端:STR_PAD_BOTH

例如:

1

echo str_pad(1,8,"0",STR_PAD_LEFT);

结果:00000001

1

echo str_pad(1,8,"0",STR_PAD_RIGHT);

结果:10000000

1

echo str_pad(1,8,"0",STR_PAD_BOTH);

结果:00010000

在上边的例子中值得注意的一个细节是,如果填补的位数是个奇数,例如例三中填补了7个0,右边优先。

 

二、sprintf

这个函数学过c的都十分了解它,呵呵……

不过咱不说这么多,因为用起来实在太灵活了,以至于我基本不会用,不过在左边补零(或者在小数点后补零)用起来还是很方便的

先看左边补零

1

echo sprintf("%05d",1);

先说%05d的意思,用一个5位数的数字格式化后边的参数,如果不足5位就补零

运行结果是00005

再看小数点后补零

1

echo sprintf("%01.3f",1);

%01.3f的意思是说,用一个小数点后最少三位不足三位补零,小数点前最少一位,不足一位补零的浮点数格式化后边的参数

其运行结果是:1.000

关于补零的这两种方法大家可以挑选着使用,其实各有优劣,sprintf能够保证你不至于误操作吧1补成1000000哈哈,str_pad可以保证你想补啥补啥。

 

PHP四舍五入精确小数位及取整

PHP取整数函数常用的四种方法,下面收集了四个函数;
经常用到取整的函数,今天小小的总结一下!其实很简单,就是几个函数而已~~主要是:ceil,floor,round,intval

一、ceil — 进一法取整

说明
float ceil ( float value )
返回不小于 value 的下一个整数,value 如果有小数部分则进一位。ceil() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
例子 1. ceil() 例子

复制代码代码如下:
<?php
echo ceil(4.3); // 5
echo ceil(9.999); // 10
?>

 

二、floor — 舍去法取整

说明
float floor ( float value )
返回不大于 value 的下一个整数,将 value 的小数部分舍去取整。floor() 返回的类型仍然是 float,因为 float 值的范围通常比 integer 要大。
例子 1. floor() 例子

复制代码代码如下:
<?php
echo floor(4.3); // 4
echo floor(9.999); // 9
?>

 

三、round — 对浮点数进行四舍五入

说明
float round ( float val [, int precision] )
返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值)。
例子 1. round() 例子

复制代码代码如下:
<?php
echo round(3.4); // 3
echo round(3.5); // 4
echo round(3.6); // 4
echo round(3.6, 0); // 4
echo round(1.95583, 2); // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2); // 5.05
echo round(5.055, 2); // 5.06
?>

 

四、intval—对变数转成整数型态

例子intval()

复制代码代码如下:
<?php
echo intval(4.3); //4
echo intval(4.6); // 4
?> 

 

PHP四舍五入精确小数位及取整

(1)php保留三位小数并且四舍五入

复制代码代码如下:
$num=0.0215489;
echo sprintf("%.3f", $num); // 0.022

 

(2)php保留三位小数不四舍五入

复制代码代码如下:
$num=0.0215489;
echo substr(sprintf("%.4f", $num),0,-1); // 0.021 

 

(3)php进一法取整数(这个在分页程序的页数程序里面会用到)

复制代码代码如下:
echo ceil(4.3);    // 5
echo ceil(9.999);  // 10

 

(4)php舍去法取整数

复制代码代码如下:
echo floor(4.3);   // 4
echo floor(9.999); // 9

 

(5),round函数

复制代码代码如下:
<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.6, 0);      // 4
echo round(1.95583, 2);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.045, 2);    // 5.05
echo round(5.055, 2);    // 5.06
?> 

 

PHP四舍五入保留两位小数点最精确的方法

复制代码代码如下:
<?php
$number = 123213.066666;
echo sprintf("%.2f", $number);
?>

输出结果:
123213.07

转载于:https://my.oschina.net/ganfanghua/blog/1543028

最后

以上就是跳跃魔镜为你收集整理的PHP 操作小数的全部内容,希望文章能够帮你解决PHP 操作小数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部