Apfloat计算三角函数错误结果

时间:2018-10-27 20:06:13

标签: java android trigonometry apfloat

我是C#开发人员,我有UWP应用,该应用可以使用DecimalEx Nuget软件包精确计算许多与数学有关的问题。我最近开始将应用程序移植到Java和Android,并且我使用Apfloat作为替代方法(如果有更好的选择,请推荐我)。我写了一个代码来计算三角函数,但是结果比实际大10倍。这是我的代码示例:

            Apfloat degrees = new Apfloat(new BigDecimal(textbox1.getText().toString()), 20);
            Apfloat sin  = ApfloatMath.sin(degrees);
            Apfloat cos = ApfloatMath.cos(degrees);
            Apfloat tg = ApfloatMath.tan(degrees);
            Apfloat cotg = new Apfloat(1).divide(tg);
            Apfloat sec = new Apfloat(1).divide(cos);
            Apfloat csc = new Apfloat(1).divide(sin);

精度设置为20。这是一个屏幕截图,用于比较我的C#输出(正确的是右侧)和Java输出。

enter image description here

我也不知道如何在没有科学计数法的情况下显示结果。

先谢谢您。 :)

1 个答案:

答案 0 :(得分:0)

原来是格式化问题,找到了解决方法。

String.format("%#s", sin)

以此类推;)