asp.net 如何判断我的对象的值是float还是int?

bwntbbo3  于 2023-10-21  发布在  .NET
关注(0)|答案(8)|浏览(125)

如何判断我的对象的值是float还是int?
例如,我希望它返回bool值。

wqnecbli

wqnecbli1#

我猜你是指沿着.

if (value is int) {
  //...
}

if (value is float) {
  //...
}
rta7y2nd

rta7y2nd2#

你得到的是字符串形式的值吗?如果是这样的话,就没有办法明确地说出它是哪一个,因为有一些数字可以由两种类型表示(事实上相当多)。但还是有可能分辨出是其中一个还是另一个。

public bool IsFloatOrInt(string value) {
  int intValue;
  float floatValue;
  return Int32.TryParse(value, out intValue) || float.TryParse(value, out floatValue);
}
bd1hkmkf

bd1hkmkf3#

if (value.GetType() == typeof(int)) {
    // ...
}
iyzzxitl

iyzzxitl4#

Double.TryParse和Int.TryParse可能是您所需要的,尽管这是假设您正在使用用户给定的字符串。

vwhgwdsa

vwhgwdsa5#

如果你的意思是一个object一个(盒装)float/int-if(obj is float)
如果你指的是string可能是... int.TryParse(string, out int) / float.TryParse(string, out float)

az31mfrm

az31mfrm6#

各种类型的TryParse方法返回布尔值。你可以这样使用它:

string value = "11";
float f;
int i;
if (int.TryParse(value, out i))
    Console.WriteLine(value + " is an int");
else if (float.TryParse(value, out f))
    Console.WriteLine(value + " is a float");
tpgth1q7

tpgth1q77#

我认为这对你很有用,我们在这里决定对象值是INT还是Float

public class Program
    {
        static void Main()
        {
            Console.WriteLine("Please enter Any Number");
            object value = Console.ReadLine();
            float f;
            int i;
            if (int.TryParse(Convert.ToString( value), out i))
                Console.WriteLine(value + " is an int");
            else if (float.TryParse(Convert.ToString(value), out f))
                Console.WriteLine(value + " is a float");

            Console.ReadLine();
        }
    }
y0u0uwnf

y0u0uwnf8#

这很简单

if(value is int || value is float)

相关问题