Java使用Math类计算三角函数的问题 在调用Math类的sin方法想计算角度的三角函数,结果结果不对,一查文档才发现参数传入的是弧度,如果是通过公式来把角度转换成弧度,算出来的结果就会有偏差,例如sin 30我想让它的结果是0.5,这个应该怎么办呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果直接用Math的toRadians(double angdeg) 方法转换呢? 这个方法和用公式换算的结果一样,还是没法获得精确的值啊。Math.sin(Math.toRadians(30))结果是0.49999999999999994,而达不到0.5啊 public static double toRadians(double angdeg) { return angdeg / 180.0 * PI;}//toRadians是这样实现的,而 PI值如下public static final double PI = 3.14159265358979323846;//当然没法精确了,我找不到用Math能解决的方法. double sin30 = Math.round(Math.sin(30*Math.PI/180)*100); System.out.println("sin30="+sin30/100); Tree控件里的Treeitem复选框选中事件? 怎样写短信群发啊 图像交点算法问题求助 选用swt还是swing? Solaris系统启动某程序的命令是什么? gridwidth,weightx到底怎么使用? 问一个问题,我是菜鸟。 请问哪里有jdk1.4.1下呀! 一个困惑我的编译警告 socket编程,输入流怎么放入缓冲区? 向高手学校swt多线程问题 递归堆栈溢出
这个方法和用公式换算的结果一样,还是没法获得精确的值啊。
Math.sin(Math.toRadians(30))
结果是0.49999999999999994,而达不到0.5啊
public static double toRadians(double angdeg) {
return angdeg / 180.0 * PI;
}
//toRadians是这样实现的,而 PI值如下
public static final double PI = 3.14159265358979323846;
//当然没法精确了,我找不到用Math能解决的方法.
System.out.println("sin30="+sin30/100);