如何判断我的对象的值是float还是int?
例如,我希望这能让我返回bool值。
答案 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();
}
}