回 帖 发 新 帖 刷新版面

主题:请教C语言的精度问题,紧急

不好意思各位,时间来不急,很久不碰C了,所以就直接发帖来询问一下
有一个方法  double dValue = getValue();
getValue里面是封装的,不用管它,
返回一个double类型的dValue值,dValue = 0.00082656679999999999;
我想取小数点后3位0.000,第四位用四舍五入,也就是最后值等于0.001,该怎么做?
C语言

回复列表 (共7个回复)

沙发

#define ToRand(fval,n) ( floor((fval) * pow(10.0,(n)) + 0.5) / pow(10.0,(n)) )

void main()
{
      double dValue =  0.00082656679999999999;
      double result = ToRand(dValue,3);
        cout<<result<<"  ";
    cout<<endl;

    system("pause");

}

板凳

你好.我是全职网赚工作者.
如果你有时间有电脑.会打字.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 摩客天宇 QQ 909065437

3 楼

printf("%.3f\n", dValue);

4 楼


printf("%.3lf\n", dValue);

5 楼

寻找中国的最优秀的网商领袖精英  
当今世界正经历着全球经济一体化的大潮,中国本土企业也因此面临着前所未有的机遇与挑战。
在这场洗礼中,哪些互联网平台有能力成为世界级的电子商务平台?网商精英要怎样做,才能最终成长为世界级网商精英领袖?
淘宝商盟平台震撼登场,携手淘宝30万商家联盟购物商城。
平台刚刚启动,互联网的网商精英请咨询qq: 908889846 
占领市场第一先机,合力打造网商系统!
淘宝商盟官网   www.taobaosm.com
 http://blog.sina.com.cn/tbsm8
淘宝商盟奖励制度

6 楼

printf("%4.3f\n", dValue);

7 楼

printf("%.3f\n", dValue);
就行了

我来回复

您尚未登录,请登录后再回复。点此登录或注册