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

时间:2009-06-11 13:31:55

标签: c# .net asp.net

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

例如,我希望这能让我返回bool值。

7 个答案:

答案 0 :(得分:16)

我假设你的意思是... ...

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

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

答案 1 :(得分:7)

您是否以字符串形式获取值?如果是这样的话,就没有办法明确地告诉它是哪一个,因为有两种类型可以表示某些数字(事实上很多)。但是可以判断它是否是其中之一。

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

答案 2 :(得分:5)

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

答案 3 :(得分:5)

Double.TryParse和Int.TryParse可能是你需要的,虽然假设你正在使用用户给出的字符串。

答案 4 :(得分:3)

如果您的意思是object a(盒装)float / int - if(obj is float)

如果您的意思是string可能是...... int.TryParse(string, out int) / float.TryParse(string, out float)

答案 5 :(得分:3)

各种类型的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");

答案 6 :(得分:2)

我认为在这里我们决定对象值是有用的,无论是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();
        }
    }