码厨frog 2014-07-15 02:23 采纳率: 0%
浏览 1537

C#三角函数与PI的精度问题

为什么Math.Sin(Math.PI/6)=0.5是对的Math.Sin(Math.PI/2)=1也是对的,但是Math.Sin(Math.PI)=1.22460635382238E-16而不是0,计算出错了(sin/cos/tan都有这个问题)。难道是PI的精度不够?那为什么前两个都算的对呢?到底是什么原因?有什么解决办法能让他们都计算正确?谢谢!

  • 写回答

1条回答

  • 关注

    Math.Round(Math.Cos(90 * 1.00 * (Math.PI) / 180), 5)

    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题