搜尋

首頁  >  問答  >  主體

php - 問個型別轉換的問題,float型別轉int,覺得可能會出問題,但結果並沒有?

譬如把float類型的2.0000000000轉化為int,底層儲存的應該是1.999999999999999這樣的吧,有精度限制的,所以當我把這個數轉int的時候,覺得會變成1(丟棄小數部分了)
但測試了幾種語言,都還是正確的(php,java,go,js)
php:

js:

#go:

#java:

#
过去多啦不再A梦过去多啦不再A梦2827 天前857

全部回覆(6)我來回復

  • 滿天的星座

    滿天的星座2017-06-12 09:21:20

    2.0是可以被浮點數精確表達的 這個數字不應該出問題

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-06-12 09:21:20

    小數的存儲用科學記數法存儲,並不是1.999999...,在強轉的過程中是做處理的,不是直接轉換個類型

    回覆
    0
  • 漂亮男人

    漂亮男人2017-06-12 09:21:20

    一般來說都是低精度轉高精度,例如int->float,高精度轉低精度,是要丟失精度,數據結果可能會變得很詔異的。

    回覆
    0
  • 阿神

    阿神2017-06-12 09:21:20

    幾個經典的例子

    (int)(0.57 * 100)

    (int)((0.1+0.7)*10)

    回覆
    0
  • 世界只因有你

    世界只因有你2017-06-12 09:21:20

    沒啥太實際的意義,假如真的是你這樣想的情況運作的話,設計這門語言的人肯定會考慮到的

    具體了解需要一定的彙編原理,所以不要太鑽牛角尖啦

    回覆
    0
  • 巴扎黑

    巴扎黑2017-06-12 09:21:20

    可以問一下,你這個程式面板是哪裡下載的嗎?好像不錯

    回覆
    0
  • 取消回覆