У меня есть BigDecimal a1BigDecimal себя странно
BigDecimal a1 = new BigDecimal("0");
System.out.println(a1) //"0.0"
Когда я
a1.pow(2)
I и напечатать значение я получаю "0,00"
В моей программе, я петля это, и что вызывает проблемы, потому что каждый раз, когда он петли, он удваивает конечные 0. Для того, чтобы моя программа работала по назначению, она могла получить 2^100 завершающих нулей, что замедляет производительность и занимает много памяти. Я пробовал
a1.stripTrailingZeros();
но он все еще хранит бесполезные нули и занимает много времени, чтобы вычислить.
В этом случае мне нужно максимизировать производительность, поэтому преобразование в строку и выполнение строковых манипуляций может быть не лучшим образом. Что мне делать, чтобы это исправить?
Вы не хотите a1 = 0, так как 0 до любой положительной степени равно 0. Могу ли я что-то отсутствует? Возможно, a1 = 10, поскольку вы упоминаете конечные нули? – DSlomer64
Если вы не хотите, чтобы конечные нули задавали масштаб соответствующим образом. – EJP
Я использовал 0 в качестве примера. Я использую много других значений. –