Я использую Math.sin для вычисления тригонометрии в Java с точностью до 3 десятичных знаков. Однако, когда я вычисляю значения, которые должны привести к Integer, я получаю 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.
Есть идеи, как избавиться от этого отрицательного знака?