値を検出するには、浮動小数点型が4バイトか浮動小数点型が8バイトかどうか、C#ではどちらも検出できませんか? 、それはあなたの変数がfloatであるかを確認するには浮動小数点型に関する質問
if (obj is float)
// 4-byte float
else if (obj is double)
// 8-byte float
else
// other
値を検出するには、浮動小数点型が4バイトか浮動小数点型が8バイトかどうか、C#ではどちらも検出できませんか? 、それはあなたの変数がfloatであるかを確認するには浮動小数点型に関する質問
if (obj is float)
// 4-byte float
else if (obj is double)
// 8-byte float
else
// other
if (obj.GetType() == typeof(float))
// 4-byte float
else if (obj.GetType() == typeof(double))
// 8-byte float
else
// other
また、これは同じことを行う必要があります浮動小数点数が必要な場合:
int length = sizeof(float);
sizeof(myVariable)
は使用できませんので、上記の2つの方法の両方を使用する必要があります。
実際のサイズを確認するには、次のコード
if(myVariable is float){
...
}
を使用します。
float
は常にSystem.Single
のエイリアスで、常に4バイトの浮動小数点値です。
double
は、C#で常にSystem.Double
のエイリアスです。これは8バイトの浮動小数点値です。
float
の値を扱う場合、C#では常に4バイトです。これはプラットフォームに依存するのではなく、C#仕様で保証されています。
C#の仕様、セクション1.3(タイプおよび変数)の状態明示的:
2つの浮動小数点型、フロート、ダブル、32ビットの単精度を用いて表現し、64ビットの二重さ-precision IEEE 754形式。
「価値」とはどういう意味ですか? 「値は4バイトか8バイト」という意味はどういう意味ですか? – jason
は可変である必要があります。値ではありません。ごめんなさい。 –