php保留两位小数的几种方法介绍
<p> </p><p>1.不进位的情况</p>
<p>比如3.149569取小数点后两位,最后两位不能四舍五入。结果:3.14。</p>
<p>可以使用 floor 函数</p>
<p>该函数是舍去取整。例如,floor(4.66456) 结果:4 。</p>
<p>floor(9.1254) 结果9 。</p>
<p>因此,去小数点后两位,需要先乘以100,然后舍去取整,再除以100,即:</p>
<pre>$a=floor(3.149569*100)/100</pre>
<p>这时浮点计算会出现一个bug,通过<span class="keylink">php</span>的无类型特性来解决这个问题,先strval转成字符串,再自动识别类型。下面计算百分比已经使用上strval()函数了</p>
<p>计算百分比</p>
<pre>$successRate = floor(strval((2/3)*10000))/10000*100;
$result = $successRate.'%';</pre>
<p>2.四舍五入的情况</p>
<p>round 函数</p>
<pre>float round ( float val [, int precision])</pre>
<p>返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。</p>
<p>precision 也可以是负数或零(默认值)。</p>
<p>sprintf 函数</p>
<p>实现四舍五入,并且如果是不带小数位数的,会自动用指定的字符(指定的0)补至指定的小数位数</p>
<pre>echo sprintf("%01.2f", 5.228);//5.23
echo sprintf("%01.2f", 5.224);//5.22
echo sprintf("%01.2f", 5); //5.00</pre>
<p>number_format 函数</p>
<p>如果是不带小数位数的,会自动用0补至指定的小数位数</p>
<pre>echo number_format(5.228,2); //5.23
echo number_format(5.224,2); //5.22
echo number_format(5,2); //5.00</pre>
<p>round 函数</p>
<p>此函数可以实现四舍五入,但是如果是不带小数位数的,处理后也不带小数数位</p>
<pre>echo round(5.228,2); //5.23
echo round(5.224,2); //5.22
echo round(5,2); //5</pre>
<p>php进一法取整</p>
<pre>echo ceil(4.4); //5
echo ceil(4.6); //5</pre>
<p>php舍去法取整</p>
<pre>echo floor(4.4); //4
echo floor(4.6); //4</pre>
<p>以上就是php保留两位小数的几种方法介绍的详细内容,更多请关注<span class="keylink">考高分网</span>其它相关文章!</p>
<p> </p>
<p>文章转自:http://www.kaotop.com/it/262840.html</p>
</div>
<div id="MySignature" role="contentinfo">
千行代码,Bug何处藏。 纵使上线又怎样,朝令改,夕断肠。<br><br>
来源:https://www.cnblogs.com/68xi/p/15966435.html
頁:
[1]