Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> калькулятор для сайта 
V
    Опции темы
virt117
Дата 20.6.2012, 23:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 22.10.2011

Репутация: нет
Всего: нет



Написал простой скрипт калькулятора для своего сайта, но как сделать что бы он работал с дробными числами не знаю, прошу помочь.
Код

<html> 
 <head> 
 <script language="JavaScript"> 
 <!-- 
 function recalc() 
 { 
 document.getElementById ('fieldRes').innerHTML=parseInt(document.getElementById('field1').value)*parseInt(document.getElementById('field2').value); 
 } 
 //--> 
 </script> 
 </head> 
 <body> 
 
 
<tr> 
<td style="padding-right:10px;">Вид услуги</td><BR> 
<td>
<select name="b" id="field2" onchange="recalc()" style="width:150">
<option value="0" selected="selected">Выбрать...</option>
<option value="7">1</option>
<option value="8">2</option>
<option value="15">3</option>
<option value="33">4</option>
</select>
</td> 
</tr> 
 

PM MAIL   Вверх
Aliance
Дата 21.6.2012, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



parseInt заменить на parseFloat
PM MAIL WWW ICQ Skype   Вверх
virt117
Дата 23.6.2012, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 22.10.2011

Репутация: нет
Всего: нет



Все равно что то не получается при вводе в первую графу например цифры 7 выводит не 5.6 а 5.6000000000000005 в чем ошибка..
Код

<html> 
 <head> 
 <script language="JavaScript"> 
 <!-- 
 function recalc() 
 { 
 document.getElementById ('fieldRes').innerHTML=parseFloat (document.getElementById('field1').value)*parseFloat (document.getElementById('field2').value); 
 } 
 //--> 
 </script> 
 </head> 
 <body> 
 
<tr> 
<td style="padding-right:10px;">Вид услуги</td><BR> 
<td>
<select name="b" id="field2" onchange="recalc()" style="width:150">
<option value="0" selected="selected">Выбрать...</option>
<option value="0.8">1</option>
<option value="0.15">2</option>
<option value="8">3</option>
<option value="0.14">4</option>
<option value="33">5</option>
<option value="0.6">6</option>
</select>
</td> 
</tr> 
 
 <tr> 
<BR><BR><td style="padding-right:10px;">Количество:</td>
 <BR><input type=text id="field1" onKeyUp=recalc() value=0><BR> 
<BR>
 <td style="padding-right:10px;">Сумма к оплате:</td><BR> 
 <td width=30%><span id="fieldRes">0</span></td> 
<td style="padding-right:10px;">руб.</td> 
 </tr> 
 </table> 
 </body> 
 </html>
 

PM MAIL   Вверх
targetkeeper
Дата 24.6.2012, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 24.6.2012

Репутация: нет
Всего: нет



Добавьте в скрипт функцию:

Код

function price_format(o) {
    return Number(o).toFixed(2);
}


2 - количество цифр после запятой. Вызывать нужно после всех вычислений перед выводом. Код в результате будет такой:

Код

document.getElementById('fieldRes').innerHTML =
        price_format(parseFloat(document.getElementById('field1').value) * parseFloat(document.getElementById('field2').value));


Это сообщение отредактировал(а) targetkeeper - 24.6.2012, 14:57
PM MAIL   Вверх
virt117
Дата 24.6.2012, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 22.10.2011

Репутация: нет
Всего: нет



Большое спасибо, все работает.   smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0640 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.