Почему новый BigDecimal («0.0»). StripTrailingZeros () имеет масштаб 1?
Запуск этой простой программы:
public static void main(final String... args)
{
System.out.println(BigDecimal.ZERO.scale());
System.out.println(new BigDecimal("0").scale());
System.out.println(new BigDecimal("0.0").stripTrailingZeros().scale());
System.out.println(new BigDecimal("1.0").stripTrailingZeros().scale());
}
выходы:
0
0
1
0
Мой вопрос довольно прост: почему нетт третийprintln
выход0
? Это казалось бы логичным ...
РЕДАКТИРОВАТЬИтак, это очень старая ошибка
а на самом деле этоработает" для любого количества нулей:new BigDecimal("0.0000").stripTrailingZeroes().scale()
это 4!