怎么用最简单的方法判断一个树是小数还是整数,但是要判断出4和4.00都是整数。。

解决方案 »

  1.   

    double d = 1255.0011;
    string s = d.ToString();
    if(s.IndexOf(".")==-1)
    {
    MessageBox.Show("整数");
    }
    else
    {
    if(int.Parse(s.Substring(s.IndexOf(".")+1))!=0)
    {
    MessageBox.Show("小数");
    }
    else
    {
    MessageBox.Show("整数");
    }
    }
      

  2.   

    object obj = 2233.0;            if ( obj is int )
                {
                    Console.WriteLine("is int");
                }
                else if ( obj is double )
                {
                    Console.WriteLine("is double");
                }
      

  3.   

    string str = "14.00";
    float fwhole = float.Parse(str);
                float ften = float.Parse("10");
    float fintPart = float.Parse(str.Substring(0, str.IndexOf('.')));
    if (d * dec > d1 * dec)
    {
    MessageBox.Show("false");
    }
    else
    {
    MessageBox.Show("true");
    }
      

  4.   

    using System.Text.RegularExpressions;
    private bool IsNumber(string strTemp)
    {
        if (strTemp == null || strTemp.Trim().Length == 0)
        {
            return false;
        }
        Regex r = new Regex(@"^[+-]?\d*(,\d{3})*(\.\d+)?$");
        return r.IsMatch(strTemp);
    }
    private bool IsInt(string strTemp)
    {
        if (strTemp == null || strTemp.Trim().Length == 0)
        {
            return false;
        }
        return new Regex(@"^[+-]?\d*(,\d{3})*(\.0+)?$").IsMatch(strTemp);
    }if(IsNumber(strTemp))
    {
        if (IsInt(strTemp))
        {
            //整数
        }
        else
        {
            //小数
        }
    }
      

  5.   

    string str = "14.00";
    float fwhole = float.Parse(str);
                               float ften = float.Parse("10");
    float fintPart = float.Parse(str.Substring(0, str.IndexOf('.')));
    if (fwhole * ften > fintPart * ften )
    {
    MessageBox.Show("false");
    }
    else
    {
    MessageBox.Show("true");
    }
      

  6.   

    多了,直接取.前的數字轉化為浮點比較就是了.string str = "14.00";
    float fwhole = float.Parse(str);
    float fintPart = float.Parse(str.SubString(0, str.IndexOf('.')));
    if (fwhole > fintPart)
    {
     return "小數";
    }
    else
    {
     return "整數";
    }
      

  7.   

    简单问题复杂化-_-double[] A = { 1, 1.0, 1.1, 0 };
    foreach (double X in A)
        Console.WriteLine(X % 1 == 0);
      

  8.   

    如果知道一定是数字的话,直接对1取模就可以了.对1取模为0的就为整数,不为0的就为小数.
    如果是字符串的话用以下正式表达式就行了Regex.IsMatch(testString, @"^\d+\.?0*$")
      

  9.   

    不好意思,忘了负数!!
    上面的正则表达式不能判断负数。改为这样Regex.IsMatch(testString, @"^-?\d+\.?0*$")
      

  10.   


    同意  lovefootball(蟑螂) ( ) 信誉:98 写的
      

  11.   

    public static bool CheckNumber(double x)
    {
       long i;
       i=(long)x;
       if((x-i)!=0){
           return false;
       }
       else{
           return true;
       }
    }
      

  12.   

    LixingTie(生铁)说得对,对1取模或正则表达式
      

  13.   

    最簡單的不會,我的做法和lovefootball(蟑螂) 的差不多
      

  14.   

    将那个值赋予int上,得到的int与原值比较,等于就是整数,不等就是小数咯。
      

  15.   

    写个正则表达式
    Regex.IsMatch(…, @"^[-+]?\d+\.?0*$"),为真则是整数