我正在使用 Math.sin 以 3 位小数精度计算 Java 中的三角函数。但是,当我计算应该导致整数的值时,我得到 1.0000000002 而不是 1。
我试过使用
System.out.printf(Locale.ROOT, "%.3f ", v);
这确实解决了1.000000002变成1.000 的问题。
但是,当我计算应该导致0的数字,而是得到-1.8369701987210297E-16并使用
System.out.printf(Locale.ROOT, "%.3f ", v);
当我需要它为 0.000 时打印出 -0.000。
关于如何摆脱那个负号的任何想法?