Если вы вводите APR как 10, оператор:
[double]$apr = $(0.01 * (read-host "Enter APR"))
установит его на 0,1. Затем вы делите это на 12, чтобы получить rate
, который дает вам 0,008333 ... который при форматировании с {0:N2}
даст 0.01
.
Годовая процентная ставка 10% на самом деле составляет 0,83% в месяц, не 0,0083%, поэтому я не уверен, почему вы ставите символ "%" в конце после вы разделили его на 100. Попробуйте вместо этого:
write-host `t"Monthly rate: "$("{0:N2}" -f $rate*100)"%"
, что должно дать вам правильную цифру (при условии, что PowerShell по крайней мере немного интуитивно понятен).
Кроме того, я всегда использую 12% для начального тестирования, поскольку это значительно облегчает вычисления.