javascript的sin30有误差

晨枫 2011-04-26 06:54:25
一般情况下sin30等于0.5,但是我把当我取值时却不是等于0.5,而是0.49999999999999994,又点点偏差,怎么回事呢。代码如下:

<html>
<head>
<script language="javascript">
function show()
{ var a;
a=document.qq.aa.value;
document.write(Math.sin(a*Math.PI/180));
}
</script>
</head>
<body>
<form name="qq">
<input type="text" name="aa"><input type="button" onclick="show()">
</form>
</body>
</html>
...全文
138 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
晨枫 2011-04-29
  • 打赏
  • 举报
回复
最后自己用的四舍五入弄得。...
晨枫 2011-04-27
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 snmr_com 的回复:]
正常的,各种语言都有这样的情况,要精准计算,需要专门数学插件(dll什么的)
[/Quote]
这个好像是那种浮点数造成的,但是找来找去,也就那么几个相同的,加减乘除的浮点解决方法,这个sin函数的理应可以的。只是没有个完整代码看看。
ImN1 2011-04-26
  • 打赏
  • 举报
回复
正常的,各种语言都有这样的情况,要精准计算,需要专门数学插件(dll什么的)

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧