文章詳情頁
php - 問個類型轉化的問題,float類型轉int,覺得可能會出問題,但結果并沒有?
瀏覽:55日期:2024-08-11 14:01:27
問題描述
譬如把float類型的2.0000000000轉化為int,底層存儲的應該是1.999999999999999這樣的吧,有精度限制的,所以當我把這個數轉int的時候,覺得會變成1(丟棄小數部分了)但測試了幾個語言,都還是正確的(php,java,go,js)php:js:
go:
java:
問題解答
回答1:2.0是可以被浮點數精確表達的 這個數不應該出問題
回答2:小數的存儲用科學記數法存儲,并不是1.999999...,在強轉的過程中是做處理的,不是直接轉換個類型
回答3:一般來說都是低精度轉高精度,比如int->float,高精度轉低精度,是要丟失精度,數據結果可能會變得很詫異的。
回答4:幾個經典的例子
(int)(0.57 * 100)
(int)((0.1+0.7)*10)
回答5:沒啥太實際的意義,假如真的是你這樣想的情況運作的話,設計這門語言的人肯定會考慮到的
具體了解需要一定的匯編原理,所以不要太鉆牛角尖啦
回答6:可以問一下,你這個編程面板是哪里下載的嗎?好像不錯呀
上一條:為什么看不了下一條:C++問題,初學者,望大神們指點
排行榜
