Я использую большое десятичное число java в качестве следующего:
class test bigDecimal{
private BigDecimal decimalResult;
public boolean iterate(String value) {
if (value == null) {
return true;
}
System.out.println("value is: " + value);
BigDecimal temp = new BigDecimal(value);
System.out.println("temp val is: " + temp);
if (decimalResult == null) {
decimalResult = temp;
} else {
decimalResult = decimalResult.add(temp);
}
return true;
}
}
все строки, которые я использую для создания большого десятичного числа, имеют масштаб 6. Например, 123456.678000, 456789.567890
Но если я приведу большой список строк в качестве входных данных и проверим сумму, я получу выходные данные с 8 цифрами после десятичной точки.напримерчто-то вроде: 2939166.38847228.
Интересно, почему BigDecimal меняет эту шкалу?все мои данные имеют масштаб 6.
Любые отзывы приветствуются.-Спасибо