如何檢測一個值是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. 關於MySQL中的類型的問題
- 2. 關於對象類型的問題
- 3. 關於.NET CollectionEditor類型的問題
- 4. 關於類型轉換的問題
- 5. 關於變量類型「double」的問題
- 6. 關於C#數據類型的問題
- 7. 浮點問題
- 8. 問題浮點
- 9. 關於Linux內存類型問題
- 10. Swift問題:關於AnyObject類型鑄造
- 11. 關於泛型的問題
- 12. 浮點與整數數據類型的計算問題,用C
- 13. 關於Java類的問題
- 14. 關於NSUserDefault類的問題
- 15. 浮點問題 - Css
- 16. 浮點類型的限制?
- 17. 關於我的點火開關問題?
- 18. 浮長類型轉換問題在Java
- 19. 關於引用類型的Java volatile關鍵字的問題
- 20. safari中的浮點問題
- 21. 關於Scala中的類型類的問題
- 22. 問題有關類型UITabelView
- 23. XML節點類型問題
- 24. 問關於flex類圖的問題
- 25. 浮點數和usleep問題
- 26. 浮點數格式問題
- 27. 浮點問題在IE
- 28. C++ Cout浮點數問題
- 29. 浮點問題用C
- 30. 問題與浮點比較
你是什麼意思的「價值」? 「值是4字節...還是8字節」是什麼意思? – jason 2011-01-24 06:39:45
應該是可變的。沒有價值。抱歉。 – 2011-01-24 06:59:34