永发信息网

f编辑符,当小数位数相等的时候怎么办

答案:1  悬赏:0  手机版
解决时间 2021-03-27 10:23
  • 提问者网友:轮囘Li巡影
  • 2021-03-27 06:51
f编辑符,当小数位数相等的时候怎么办
最佳答案
  • 五星知识达人网友:痴妹与他
  • 2021-03-27 08:26
要在计算过程中保留若干小数位,可以使用以下思路:1要将实数f保留n为小数位,先f*10^n,相当于小数点右移n位;2将变量取整,舍去多余的小数位;3结果除以10^n,等同于小数点左移n位,实现目的。其中12之间,如果有舍入需求,可以先做舍入,再取整。考虑到移动小数点时可能溢出导致结果不精确,可以保持原数不动,只取小数部分做操作,结果再加上原数的整数部分即可。参考代码如下:double f = 1.12345678;double t1;int n; cin >> n;//保留n位有效数字。 t1 = f - (int)f;//取小数部分。 t1*=pow(10, n);//小数点左移。 if(t1-(int)t1 >= 0.5) t1+=1; //四舍五入 t1 = (int)t1; //取整数部分。 t1/=pow(10, n);//小数点右移。 t1+=(int)f;//加上原本的整数部分。 cout <<"the result is " << t1 << endl;//输出结果。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯