我想分割兩個變量後得到數字的整數部分。 即,如果值爲3.75,則取3 3. displaycount和itemcount都是整數變量。math.floor應該返回整數
Dim cntr As Integer
cntr = Math.Floor(Math.Abs(itemCount/displaycount))
該代碼產生波浪在VS2012藍色與評論說BUT Math.Floor應該採取小數或雙「轉換時雙爲整數,可能會發生的運行時錯誤」,並返回一個整數。
我想分割兩個變量後得到數字的整數部分。 即,如果值爲3.75,則取3 3. displaycount和itemcount都是整數變量。math.floor應該返回整數
Dim cntr As Integer
cntr = Math.Floor(Math.Abs(itemCount/displaycount))
該代碼產生波浪在VS2012藍色與評論說BUT Math.Floor應該採取小數或雙「轉換時雙爲整數,可能會發生的運行時錯誤」,並返回一個整數。
「Math.Floor應該採用小數或雙精度並返回一個整數。」不,它不是。它返回與其參數相同類型的值。請參閱文檔,例如Math.Floor Method (Double)。
我會期待VS建議在作業的RHS周圍添加CInt()的修復;那是不是爲你而出現?
如果您需要整數作爲結果,請考慮使用CInt
,Int
或Fix
函數。
CINT回合使用銀行家的四捨五入取整(N.5舍入到最接近的偶數)。
Int刪除小數部分。負數被截斷爲較小的數字
Int(-8.4) = -9
。
修復刪除小數部分。負數被截斷爲更大的數字
Fix(-8.4) = -8
。
參見Conversion.Int Method和Type Conversion Functions (Visual Basic)。
Math.Floor方法 .NET Framework 4.5其他版本 返回小於或等於指定數字的最大整數......即直接來自MSDN,無論如何CInt纏繞它確實工作,TY – dinotom
http ://msdn.microsoft.com/en-us/library/system.math.floor.aspx ||是鏈接 – dinotom
@Dinotom這是'Integer'這個詞在這裏引起混亂的使用 - 返回的值是一個整數,意思是'整數',但數據類型仍然是由call參數決定的double或decimal。事實上,如果您查看您提供的鏈接中的「語法」部分,您會看到這一點。 – peterG