Не могу найти ошибку в простой программе Visual Basic в среде MS Excel

Компьютеры программирование программы excel visual basic

Public Sub Расчет_показателей_доходности_облигаций()
Dim P As Integer, N As Integer, K As Single, t As Single, g As Integer, i As Single, f As Integer
P = InputBox("Введите рыночную цену облигации", "ХГАЭП", 0)
N = InputBox("Введите номинальную цену облигации")
K = P / N * 100
MsgBox ("Курс облигаций равен" & " " & K)
K = InputBox("Введите курс облигации")
g = InputBox("Введите норму годового дохода")
t = (g / K) * 100
MsgBox ("Текущая доходность облигации равна" & t)
t = InputBox("Введите текущую доходность облигации")
f = InputBox("Введите количество выплат процентов в год")
i = (1 + t / f) ^ f - 1
MsgBox ("Полная доходность облигации равна" & " " & i)
End Sub

Выводит ноль на строке "Текущая доходность облигации равна",а должен 0,05 .

Вот вам мои значения:P=45 ,N=50 ,g=0,045 , f=4.

Примечание:
Константин Титов спасибо
Ответы:
f As Integer, g As Integer - может по этому?
поменяй их на Single
все сводится к (1-0)^f-1 = 0 всегда


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.