公式计算不规律

问题描述 投票:0回答:1

我的问题是公式计算不规则。它是一个更大的 Java 类的一部分,该类根据计算值绘制一些形状,因此该值始终正确非常重要。公式为 y=sx+b,其中 x 是数值,s 是角度的正切值,b 是 y 截距,求解 y。

这是我的问题代码:

Double minX, cLT, r, currentY;

minX = 74;//x value
cLT = 139;//y-intercept
r = 157.5;//angle in degrees

currentY = Math.tan(Math.toRadians(r))*minX+cLT;
System.out.println(currentY);

有时会打印正确的值(大约 108),有时会打印大约 -30。 (double存储了一长串我不感兴趣的小数。)我用计算器检查了它,不同之处在于,当它打印错误的值时,它忽略了cLT变量。添加括号似乎并不能解决问题。有什么想法为什么会这样做吗?

java math formula
1个回答
0
投票

如果您使用双精度,则必须添加小数位,例如“.”,我已经测试了此代码,现在每次都以正确的值 108 工作。我希望这会有所帮助。

public class Testing {

    public static void main(String[] args) {
        Double minX, cLT, r, currentY;

        minX = 74.0;//x value
        cLT = 139.0;//y-intercept
        r = 157.5;//angle in degrees

        currentY = Math.tan(Math.toRadians(r))*minX+cLT;
        System.out.println(currentY.intValue());

    }
}


© www.soinside.com 2019 - 2024. All rights reserved.