0

我是 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 输出的屏幕截图。

在此处输入图像描述

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

先感谢您。:)

4

1 回答 1

0

原来这只是格式问题,找到了解决方案。

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

等等 ;)

于 2018-10-27T22:16:05.273 回答