Забыл. 360*x/100 где тип х float, результат на калькуляторе 0,0895522392 в программе выдает 0.08955224, че он мне их так подрезал?
Asked
Active
Viewed 67 times
1
-
Используйте double – Кирилл Малышев Mar 29 '18 at 18:35
-
Float меньше знаков после запятой?... – Alexandr Mar 29 '18 at 18:47
-
2float - 4 байта, double - 8, меньше байт - меньше точность – Uraty Mar 29 '18 at 20:02
1 Answers
0
Если хотите полный контроль над вычислениями, используйте специализированные типы, вместо встроенных
Например:
public static void main(String[] args) {
float x = 0.024875622f;
int scale = 10;
System.out.println(new BigDecimal(360).multiply(new BigDecimal(x)).divide(new BigDecimal(100), scale, RoundingMode.FLOOR));
}
DaysLikeThis
- 1,798