php 小数末尾进1,PHP小数点最后一位加1、减1
比如我有幾個數字(小數點后面的位數不固定):
1、155.055
2、122.196
3、0.9631
我怎么做才能讓這些數字的小數點最后一位+1,或者-1?比如+1的話希望得到:
1、155.056
2、122.197
3、0.9632
回復內容:
比如我有幾個數字(小數點后面的位數不固定):
1、155.055
2、122.196
3、0.9631
我怎么做才能讓這些數字的小數點最后一位+1,或者-1?比如+1的話希望得到:
1、155.056
2、122.197
3、0.9632
$num =12.2346;
$tmp = explode('.',$num);
$dec = end($tmp);
$count = strlen($dec);
$p= pow(0.1,$count);
$result = $num+$p;
echo($result);
自己改成函數吧, 有些地方還要加些判斷,
都存成整數吧,然后存儲一個小數點的位置。
因為 float 型 還是不能準確的表示 0.1 0.01 0.001 。。。等數據的,多次添加刪除之后會有累計誤差,甚至加了跟沒加一樣。
比如
0.1+0.2 == 0.30000000000000004
$n = 10.123;
$fix = floatval(pow(10, strlen(explode('.', strval($n))[1])));
$n = ($n*$fix + 1)/$fix;
相關標簽:php
本文原創發布php中文網,轉載請注明出處,感謝您的尊重!
總結
以上是生活随笔為你收集整理的php 小数末尾进1,PHP小数点最后一位加1、减1的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php获取表单信息的代码_PHP获取HT
- 下一篇: Educational Codeforc