如何檢測一個值是4字節的浮點類型還是8字節的浮點類型,或者都不在C#中?關於浮點類型的問題
0
A
回答
4
if (obj.GetType() == typeof(float))
// 4-byte float
else if (obj.GetType() == typeof(double))
// 8-byte float
else
// other
或者,這應該做同樣的事情:
if (obj is float)
// 4-byte float
else if (obj is double)
// 8-byte float
else
// other
1
要看到你的變量是一個浮動與否,使用下面的代碼
if(myVariable is float){
...
}
要查看實際大小浮動,如果這是你所需要的:
int length = sizeof(float);
您不能使用sizeof(myVariable)
,因此您必須同時使用上述兩種方法。
4
float
在C#中始終是System.Single
的別名,它總是一個4字節的浮點值。
double
在C#中始終是System.Double
的別名,它是一個8字節的浮點值。
如果你正在處理一個float
值,在C#中,它總是4個字節。這不是平臺相關的,而是由C#規範保證的。
C#的規格,第1.3節(類型和變量)狀態這明確地:
兩個浮點類型,浮點和雙,使用的是32位單精度和64位雙表示精確的IEEE 754格式。
相關問題
- 1. 浮點數據類型問題
- 2. 關於MySQL中的類型的問題
- 3. 關於變量類型「double」的問題
- 4. 關於「bit」數據類型的問題
- 5. 關於C#數據類型的問題
- 6. 關於類型轉換的問題
- 7. 關於非類型錯誤的問題?
- 8. 關於對象類型的問題
- 9. 關於.NET CollectionEditor類型的問題
- 10. 問題浮點
- 11. 浮點問題
- 12. 浮點問題
- 13. PHP浮點型變量的問題
- 14. 關於Linux內存類型問題
- 15. Swift問題:關於AnyObject類型鑄造
- 16. 關於浮點數
- 17. 關於泛型的問題
- 18. 浮點與整數數據類型的計算問題,用C
- 19. 關於Java類的問題
- 20. 關於NSUserDefault類的問題
- 21. 關於類別的問題
- 22. C++浮點問題
- 23. webSQL浮點問題
- 24. 浮點值問題
- 25. 問題浮點值
- 26. 浮點問題 - Css
- 27. 關於我的點火開關問題?
- 28. 浮點類型的限制?
- 29. 關於引用類型的Java volatile關鍵字的問題
- 30. 浮長類型轉換問題在Java
你是什麼意思的「價值」? 「值是4字節...還是8字節」是什麼意思? – jason 2011-01-24 06:39:45
應該是可變的。沒有價值。抱歉。 – 2011-01-24 06:59:34