double a=1,b=1.5;
怎么能判断a没有小数点 ,b有小数点

解决方案 »

  1.   

    比较苯的方法,先把它转为字符串,再来find有没有"."
      

  2.   

    if  ((int)a) ==a ) {
       // 有小数点
    } else {
       // 没有小数点
    };
    也可以使使用 floor等函数判断
      

  3.   

    运行一下下列代码可知结论。
    #include<iostream.h>
    #include<math.h>
    void main()
    {
    double x=233333331222222222.0000;
    if(ceil(x)==x)
    cout<<"x是一个整数"<<endl;
    else
    cout<<"x不是整数"<<endl;
    if(floor(x)==x)
    cout<<"x是一个整数"<<endl;
    else
    cout<<"x不是整数"<<endl;
    if((int)x==x)
    cout<<"x是一个整数"<<endl;
    else
    cout<<"x不是整数"<<endl;
    }