Я использую math.round()
для округления. это код:
double value=0.14499999970197677;
double rounded;
rounded=Math.round( value* 1000.0) / 1000.0;
rounded=Math.round( rounded* 100.0) / 100.0;
System.out.println("Final value :" + rounded);
Я ожидаю, что он должен вернуть 0.15
, но он возвращается 0.14
Кроме того, если значение равно 0.13499999970197677
, то возвращается 0.14
, почему бы не 0.13
Я уже перебрал много ссылок, связанных с округлением. но все еще не ясно.
Пожалуйста, скажите мне ясно, почему это происходит с обоими числами?