PHP小數點最後一位加1、減1

來源:互聯網
上載者:User
關鍵字 php
比如我有幾個數字(小數點後面的位元不固定):

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;

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.