當前位置:吉日网官网 - 中國傳統 - PHP取模的問題

PHP取模的問題

問了問朋友發現壹個問題:就是浮點轉整型的時候:

<?php

$a = 9.45*100;

var_dump($a);

var_dump(intval($a));

$a = 945*1.00;

var_dump($a);

var_dump(intval($a));

>

運行結果如下:

float(945) int(944) float(945) int(945)

同是浮點 945 ,壹個轉成 944 壹個轉成 955

顯然簡單的十進制分數如同 0.1 或 0.7 不能在不丟失壹點點精度的情況下轉換為內部二進制的格式。這就會造成混亂的結果:例如,floor((0.1+0.7)*10) 通常會返回 7 而不是預期中的 8,因為該結果內部的表示其實是類似 7.9999999999...。

這和壹個事實有關,那就是不可能精確的用有限位數表達某些十進制分數。例如,十進制的 1/3 變成了 0.3333333. . .。

所以永遠不要相信浮點數結果精確到了最後壹位,也永遠不要比較兩個浮點數是否相等。

也就是說 9.45*100 類似等於 944.9999

以上解釋希望能對妳有所幫助。。

  • 上一篇:教妳如何做壹個可愛的月餅收納盒。
  • 下一篇:聊城蒸碗好吃
  • copyright 2024吉日网官网