我想使用一個枚舉,並要瘋了試圖從中獲得正確的價值。Vb枚舉不返回正確的值
Enum DiscountRates As Long
x = 0.05
y = 0.1
z = 0.15
End Enum
所以,如果我做
MessageBox.Show(DiscountRates.x)
我想我還是會回到0.05或我就能用它來分配一個值....如果我把它打印出來這將只打印0
我本來它作爲一個雙,但VB不會讓它被宣佈爲一個
我想使用一個枚舉,並要瘋了試圖從中獲得正確的價值。Vb枚舉不返回正確的值
Enum DiscountRates As Long
x = 0.05
y = 0.1
z = 0.15
End Enum
所以,如果我做
MessageBox.Show(DiscountRates.x)
我想我還是會回到0.05或我就能用它來分配一個值....如果我把它打印出來這將只打印0
我本來它作爲一個雙,但VB不會讓它被宣佈爲一個
它最初被宣佈爲雙精度型,但它表示枚舉必須聲明爲整型 – ed209
對不起,您對。你不能用'Enum'來完成。改用consts。看到這個:http://stackoverflow.com/a/655055/290343。 我編輯了我的答案。 –
或者,如果它總是百分比值(甚至是百分點),則可以用'x = 5'' y = 10'和'z = 15'來聲明'Enum DiscountRatesPercent'。 –
有趣的是實際編譯和運行,因爲'0.05'肯定不是一個'Long'。它必須是隱含的四捨五入/截斷? –
也許Option Strict設置爲關閉? –