BUG小白BUG 2022-09-13 20:29 采纳率: 88.9%
浏览 38
已结题

如何将8.38,精确表示,不要后面的782

img


如何将8.38精确的表示?
后面的782是什么
如果也表示数
不要后面的,782
我这边要求精度比较高
求解,谢谢

  • 写回答

2条回答 默认 最新

  • _GX_ 2022-09-13 21:21
    关注

    C/C++语言中的浮点数由于字长限制,只能存储有限精度的浮点数,会有截断误差。float类型能精确到6位有效数字,double类型能精确到15位有效数字。(有效数字是从第一个非零数字开始计算,不是指小数点后多少位)
    如果你需要更高的精度,那么你可以使用高精度浮点运算库,比如GMP, MPFR
    https://gmplib.org/
    https://www.mpfr.org/

    不过从你的代码来看,float类型的精度已经足够了。
    正由于浮点数计算有误差,在判断两个浮点数是否相等时,不能直接用==来判断,而应该用if(fabs(a-b) <= eps)的形式来判断,其中eps表示误差

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月22日
  • 已采纳回答 9月14日
  • 创建了问题 9月13日

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题