C# 如何检查字符串变量的值是否为double
我试图检查字符串变量的值是否为double 我已经看到了这个现存的问题()和它的答案,它们很棒,但我有一个不同的问题C# 如何检查字符串变量的值是否为double,c#,string,double,real-number,C#,String,Double,Real Number,我试图检查字符串变量的值是否为double 我已经看到了这个现存的问题()和它的答案,它们很棒,但我有一个不同的问题 public static bool IsDouble(string ValueToTest) { double Test; bool OutPut; OutPut = double.TryParse(ValueToTest, out Test); return OutPut
public static bool IsDouble(string ValueToTest)
{
double Test;
bool OutPut;
OutPut = double.TryParse(ValueToTest, out Test);
return OutPut;
}
根据上面的代码,当ValueToTest为“-∞" 我在变量测试中得到的输出是“-Infinity”,该方法返回true
当ValueToTest为“NaN”时,我得到的输出为“NaN”
他们都是吗?”-∞和“NaN”在C#中的双值
还有一种方法可以只检查实数()并排除无穷大和NaN吗?是的,它们是双精度的有效值:请参阅 只需更新您的方法,以包括对
NaN
和Infinity
的检查:
public static bool IsDoubleRealNumber(string valueToTest)
{
if (double.TryParse(valueToTest, out double d) && !Double.IsNaN(d) && !Double.IsInfinity(d))
{
return true;
}
return false;
}
是,它们是双精度的有效值:请参阅 只需更新您的方法,以包括对
NaN
和Infinity
的检查:
public static bool IsDoubleRealNumber(string valueToTest)
{
if (double.TryParse(valueToTest, out double d) && !Double.IsNaN(d) && !Double.IsInfinity(d))
{
return true;
}
return false;
}
“NaN”
和“-∞“
是可解析为double
的有效字符串。因此,如果不希望将其视为有效的double
值,则需要将其过滤掉:
public static bool IsValidDouble(string ValueToTest)
{
return double.TryParse(ValueToTest, out double d) &&
!(double.IsNaN(d) || double.IsInfinity(d));
}
“NaN”
和“-∞“
是可解析为double
的有效字符串。因此,如果不希望将其视为有效的double
值,则需要将其过滤掉:
public static bool IsValidDouble(string ValueToTest)
{
return double.TryParse(ValueToTest, out double d) &&
!(double.IsNaN(d) || double.IsInfinity(d));
}
检查这双有无限和inNan检查,希望这会得到
if (Double.IsInfinity(SampleVar))
{
//Put your logic here.
}
if (Double.IsNaN(SampleVar))
{
//Put your logic here.
}
检查这双有无限和inNan检查,希望这会得到
if (Double.IsInfinity(SampleVar))
{
//Put your logic here.
}
if (Double.IsNaN(SampleVar))
{
//Put your logic here.
}
是的,它们是……请看。@PatrickHofman谢谢。那么我如何才能只测试实数?只需检查双精度是否为两个(NaN或无穷大)中的任何一个。然后返回false。是的,它们是……请看。@PatrickHofman谢谢。那么我如何只测试实数?只需检查双精度是否为两个(NaN或无穷大)中的任何一个。然后返回false。