读书人

c++ double与long相除的有关问题

发布时间: 2012-11-10 10:48:50 作者: rapoo

c++ double与long相除的问题
我是一个c++ 菜鸟,刚开始学

double d=6.7;
long e=29.33;
cout << (d/e) << endl;
以上输出的是: 0.231034

但是用计算器输出的是: 0.22843504943743607228094101602455

谢谢

[解决办法]
。。。
long e=29.33等同于long e=29


[解决办法]
long e=29.33; <=>long e=29;
[解决办法]
long是C++整形,也就是不带小数点的,如果这样定义long e=29.33,C++会自动去掉小数点后面的数,即相当于你long e=29
[解决办法]

C/C++ code
    double d=6.7;    //double e=29.33;    //long e=29.33;//long是 long int,29.33要转为int型就是29    //cout<<e<<endl;//可以看到是29    cout << (d/e) << endl;//所以出现上面的结果,如果e是double类型,小数位为6位    //double默认小数点保存6位    return 0; 

读书人网 >C++

热点推荐