Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.12.2014, 22:04
Новичок на форуме
Отправить личное сообщение для decross Посмотреть профиль Найти все сообщения от decross
 
Регистрация: 06.11.2014
Сообщений: 2

Странно себя ведет арифметический оператор
Добрый день!

Я только начал учиться программировать, поэтому вам может показаться, что вопрос очень глупый. Однако, мне не к кому обратиться, поэтому буду благодарен, если поможете разобраться.

Решил написать для начала простенькую программу расчета выплат по кредиту. Однако в расчете выплаты какая-то ошибка, поскольку цифры получаются совсем не те, которые ожидаются. Посмотрите, пожалуйста.

//Программа расчета процентов по кредиту
var credit = prompt("Введите размер вашего кредита"); 
var percentile = prompt("Введите ваш процент в годовых");
var term = prompt ("Введите количество месяцев по кредиту");

percentile = percentile/100;
var pereplata = credit*percentile;
var itog = credit+pereplata;
var vyplata = itog/term;
console.log ("Переплата по кредиту составит: " + pereplata + " руб.");
console.log ("Выплата каждый месяц составит: " + vyplata.toFixed(2) + " руб.");
Ответить с цитированием
  #2 (permalink)  
Старый 04.12.2014, 22:17
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

1) prompt умеет возвращать только строки
2) оператор + для двух чисел возвращает сумму
3) оператор + для двух операндов, хотя бы один из которых не число - приводит их к строке, и конкатенирует(склеивает)
"строка 1" + "строка 2" === "строка 1строка 2"
4) привести строку к числу перед суммированием можно рядом способов
Они описаны в справочнике, в частности на этом сайте
Ответить с цитированием
  #3 (permalink)  
Старый 04.12.2014, 22:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

decross,
var .... = +prompt....
Ответить с цитированием
  #4 (permalink)  
Старый 05.12.2014, 09:01
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

рони,
а как правильно преобразовать дробные, типа, 1/2? Я знаю, что эвалом можно, а можно еще как-то?
Ответить с цитированием
  #5 (permalink)  
Старый 05.12.2014, 09:33
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

krutoy,
что ты имеешь ввиду под вопросом преобразовать? Преобразовать во что? или из чего?
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #6 (permalink)  
Старый 05.12.2014, 11:40
Новичок на форуме
Отправить личное сообщение для decross Посмотреть профиль Найти все сообщения от decross
 
Регистрация: 06.11.2014
Сообщений: 2

Спасибо большое за подсказку. Пойду читать справочник.
Ответить с цитированием
  #7 (permalink)  
Старый 05.12.2014, 12:13
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

devote,
Я имею в виду из строки , как в обычной сессии
console.log(1/2)
console.log(eval("1/2"))

тоесть, извлечь из строки числа вместе с оператором, грубо говоря, чтобы интерпретатор сразу воспринимал строку как результат применения операции -- эквивалент дробей.
Ответить с цитированием
  #8 (permalink)  
Старый 05.12.2014, 13:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

krutoy,

var str = "1/2";
 alert(new Function("return " + str)())
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TinyMCE странно себя ведет! Groz Общие вопросы Javascript 0 17.07.2014 22:27
обясните плз почему мой SetInterval так странно себя ведет? Влад31/08/2000 Ваши сайты и скрипты 2 29.09.2013 17:14
В хроме слайдер ведет себя очень странно Alex_meri39 jQuery 3 01.02.2012 02:03
jCarousel странно себя ведет oke11o jQuery 0 14.11.2011 10:45
Странно себя ведет простейшая проверка введенных данных в форме San4eZ Общие вопросы Javascript 7 06.10.2011 09:17