我是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输出。
我也不知道如何在没有科学计数法的情况下显示结果。
先谢谢您。 :)
答案 0 :(得分:0)
原来是格式化问题,找到了解决方法。
String.format("%#s", sin)
以此类推;)