C# 浮点数问题
如何在C#中检测值是4字节浮点型还是8字节浮点型,或者两者都不是 或者,这应该做同样的事情:C# 浮点数问题,c#,types,c#-2.0,C#,Types,C# 2.0,如何在C#中检测值是4字节浮点型还是8字节浮点型,或者两者都不是 或者,这应该做同样的事情: if (obj is float) // 4-byte float else if (obj is double) // 8-byte float else // other 要查看您的变量是否为浮点,请使用以下代码 if( myVariable is float ){ ... } 要查看浮点的实际大小(如果需要): int length = sizeof(float);
if (obj is float)
// 4-byte float
else if (obj is double)
// 8-byte float
else
// other
要查看您的变量是否为浮点,请使用以下代码
if( myVariable is float ){
...
}
要查看浮点的实际大小(如果需要):
int length = sizeof(float);
不能使用sizeof(myVariable)
,因此必须同时使用上述两种方法。float
在C#中始终是系统的别名。Single
始终是一个4字节的浮点值
C#中的double
始终是System.double的别名,它是一个8字节的浮点值
如果您处理的是float
值,在C#中,它总是4个字节。这不依赖于平台,而是由C#规范保证
C#规范第1.3节(类型和变量)明确规定:
浮点和双精度这两种浮点类型使用32位单精度和64位双精度IEEE 754格式表示
你说的“价值”是什么意思?“值是4字节…还是8字节”是什么意思?应该是可变的。没有价值。对不起。我不确定这是OP的目的。我想不出这个问题还有什么合理的含义。
int length = sizeof(float);