2024-11-06 19:11:13
大家好,今天小编关注到一个比较有意思的话题,就是关于php小数点保留2位的问题,于是小编就整理了5个相关介绍php小数点保留2位的解答,让我们一起看看吧。
下面主要讲述 round, floor, ceil, pow, rand,max, min, decbin, bindec, dechex, hexdec, decoct, octdec 函数。
round
round - 对浮点数进行四舍五入。round 函数语法如下:
round(float,precision)
其中参数 precision 表示小数点后面要保持的精度位数。如果不写参数 precision,表示四舍五入到整数位,比如:
echo round(3.4); // 3echo round(3.5); // 4echo round(3.6); // 4
如果 precision 为2,表示四舍五入到小数点后2位。示例如下:
echo round(1.95583, 2); // 1.96
在PHP中,可以利用算术运算符来实现加减乘除的计算公式,算术运算符用于将符号两边的数值进行运算,计算公式为“x + y”、“x - y”、“x * y”和“x / y”,分别表示两个数的和、差、积和商。
通常用迭代求平方根的方法,例如求正数a的平方根,可取迭代公式为: X(n+1)=(Xn+a/Xn)/2 a=6,取初值x0=2 x1=2.5 x2=2.45 x3=2.449489796 x4=2.449489743 而根号6的准确值为:2.449489743 因此只需计算3步就已经精确到了小数点后7位.
两个例子:
在js中:0.1+0.2 != 0.3 而是 等于0.300000000004 //这跟js默认采用双精度存储小数有关系
在php中9.45*100%100 != 45而是等于44 //这跟php取余运算时是先取整再取余有关系
以上两种情况的根本原因应该是小数在计算机存储时精度丢失导致的.
因为有些小数在计算机使用二进制方式表示时无法准确的表示出来,类似于十进制中的1/3一样,无理数,无限循环.
可是计算机存储小数的类型不管是float还是double都是有位数限制的,所以他们存储的只是一个近似值,这就导致了精度丢失.
因为经度丢失了,所以有些时候运算结果就会跟我们预想的不太一样了.
就是把一种数据类型转为其它类型,比如将整型转为浮点型,格式化就是将几种数据统一转为一种数据,类型不同存储的长度不一样,运算时会有误差.
保留四位小数:
还可以用 number_format() 函数
首先 这个 % 符号是开始的意思,他写在最前面表示指定格式要开始了。 也就是 "起始字符", 直到出现 "转换字符" 为止,就算格式终止。然后 跟在 % 符号 后面的是 0 这个零是 "填空字元" 表示,如果位置空着 就用0来填满。在 0 后面的是
1 这个 1 是规定,小数点前面的数字占位要有1位以上。在 %01 后面的 .
2 (点2) 就很好理解了,它的意思是,规定,小数点后的数字,必需占2位.
到此,以上就是小编对于php小数点保留2位的问题就介绍到这了,希望介绍关于php小数点保留2位的5点解答对大家有用。
Copyright © 2005-2024 代潇瑞博客 www.daixiaorui.com All Rights Reserved.
免责声明: 1、本站部分内容系互联网收集或编辑转载,并不代表本网赞同其观点和对其真实性负责。 2、本页面内容里面包含的图片、视频、音频等文件均为外部引用,本站一律不提供存储。 3、如涉及作品内容、版权和其它问题,请在30日内与本网联系,我们将在第一时间删除或断开链接! 4、本站如遇以版权恶意诈骗,我们必奉陪到底,抵制恶意行为。 ※ 有关作品版权事宜请联系客服邮箱:478923*qq.com(*换成@)
渝ICP备2023009091号-21