计算三角形角度时的十进制舍入问题

时间:2014-04-15 14:06:47

标签: javascript math decimal

我正在创造三个角度。这些角度创建了一个三角形。我想在我的画布上显示计算出的角度,因为我正在计算角度并四舍五入显示。在计算角度时,我使用Math.round().四舍五入十进制数字

所以,如果我得到65.25, 70.36, 44.39 degree作为三个角度的值,并且四舍五入后它将是65,70,44,which become 179 degree instead of 180 degree(这里缺少一个度数)。我怎样才能解决这个问题? 以下是一些供参考的图片

enter image description here

1 个答案:

答案 0 :(得分:2)

一种方法是根据其他两个计算第三个角度(四舍五入),而不是简单地将它们全部四舍五入。例如:

var th0 = 65.25;
var th1 = 70.36;
var th2 = 44.39;

var th0r = Math.round(th0);
var th1r = Math.round(th1);
var th2r = 180.0 - th0r - th1r;

这会强制th0r + th1r + th2r总是加到180.你可以通过从其他两个中选择最佳角度来变得更加复杂,但这对于大多数应用来说可能就足够了。