monPay = (amtFin * amtI)/((1-(1+amtI)*Math.pow(-n,-n)));
Я использую этот код, но он не вычисляет Math.pow (-n, -n) правильно. Кажется, что Math.pow (-n, -n) вычисляет 0.0. Все переменные имеют тип double
.Метод Java Math.Pow
monPay = (amtFin * amtI)/((1-(1+amtI)*Math.pow(-n,-n)));
Я использую этот код, но он не вычисляет Math.pow (-n, -n) правильно. Кажется, что Math.pow (-n, -n) вычисляет 0.0. Все переменные имеют тип double
.Метод Java Math.Pow
Похоже, вы пытаетесь вычислить ежемесячные выплаты по кредиту на основе основной суммы и т. Д. Однако ваша формула неверна: (1+amtI)*Math.pow(-n,-n)
должен быть Math.pow(1+amtI,-n)
.
Большое спасибо за помощь. Новое в java и делало себя калькулятором заклада от пользователя, вводящего значения. Но теперь он работает =) – Brandon
Что происходит, так это то, что значение pow(-n,-n)
слишком низкое, чтобы его можно было представить как double
(минимальное значение, равное нулю, равное нулю, равное 10E-323).
Вместо этого вы можете работать с BigDecimal, но обратите внимание, что вычисления с BigDecimal
медленнее.
Каковы типы и значения ввода здесь? – Reimeus
Значение 'n' определенно поможет. –
Какой тип n? –