double是雙精度 有效數(shù)值位52位 表示成指數(shù)的形式 即指數(shù)11位 即表示成
為邛崍等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及邛崍網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計制作、成都網(wǎng)站建設(shè)、邛崍網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
所以180.89305用2進制表示是10110100.1110010010011110111011001011111110110001010110110101
即
180.89305在double中存在的實際數(shù)值是
1.01101001110010010011110111011001011111110110001010110110101 *2^7
取小數(shù)點后 52位有效值后 等于10進制的180.893049999999998
所及加最后變成了 1808930.99999999998
第一次當然輸出近似值1808931
第二次int函數(shù)去掉了小數(shù)點后的數(shù)int就是只取整數(shù)的部位的不是四舍五入 所以少了1
不是函數(shù),是使用Math類的Ceiling方法
Dim MyNumber As Double = 2.000000001
MsgBox(Math.Ceiling(MyNumber))
Int、Fix 函數(shù)
返回參數(shù)的整數(shù)部分。
語法
Int(number)
Fix(number)
說明
Int 和 Fix 都會刪除 number 的小數(shù)部份而返回剩下的整數(shù)。
Int 和 Fix 的不同之處在于,如果 number 為負數(shù),則 Int 返回小于或等于 number 的第一個負整數(shù),而 Fix 則會返回大于或等于 number 的第一個負整數(shù)。例如,Int 將 -8.4 轉(zhuǎn)換成 -9,而 Fix
將 -8.4 轉(zhuǎn)換成 -8。
先判斷一下是否整數(shù),是整數(shù)就跳過。不是整數(shù)把數(shù)值+1,再用int取整即可。