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

熱門標簽