Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите формат данных привести к форме 0.00 руб. (https://javascript.ru/forum/misc/42562-pomogite-format-dannykh-privesti-k-forme-0-00-rub.html)

Aidar 31.10.2013 20:36

Помогите формат данных привести к форме 0.00 руб.
 
Добрый день
Имеется такой код:

<?php
$db =& JFactory::getDBO();
$query='SELECT volume FROM jos_zoo_item';
$db->setQuery($query);
$datavalue = $db->loadResult();
?>

<script type="text/javascript">
function DeliveryCalc() {
var t=+document.getElementById('kolichestvo').value
var s=+document.getElementById('price').value
document.getElementById('resultat').value=t*s*250+ " руб."
}
</script>

<select size="1" id="kolichestvo" onchange='DeliveryCalc()'>
<option value="0">Выберите количество</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
<select size="1" id="price" onchange='DeliveryCalc()'>
<option value="0">Выберите город</option>
<option value="0.5">Казань</option>
<option value="2">Воронеж</option>
<option value="12.3">Астрахань</option>
</select>
<input type='text' id='resultat' />

1) Не могу понять как вывести resultat в формате 0.00 (то есть округлить до двух цифр после 0) Прошу помочь с кодом.
2) И как добавить в формулу: document.getElementById('resultat').value=t*s*250+ " руб." переменную $datavalue которую вытаскиваю из БД ранее??? то есть чтобы она умножалась вот тут: t*s*250
С уважением

jsru_ 31.10.2013 21:38

1.
alert(parseFloat(250).toFixed(2));


2.var phpVal = <?php echo $datavalue ?>;

t*s*250*phpVal

Aidar 31.10.2013 21:43

Цитата:

Сообщение от jsru_ (Сообщение 278999)
1.
alert(parseFloat(250).toFixed(2));


2.var phpVal = <?php echo $datavalue ?>;

t*s*250*phpVal

Добрый

Спасибо, 2 вопрос решен, а вот после какой строки вставить первый кусочек кода?

jsru_ 31.10.2013 21:59

вместо 250 вставь t*s*250

Aidar 31.10.2013 22:07

Цитата:

Сообщение от jsru_ (Сообщение 279002)
вместо 250 вставь t*s*250

Я так понимаю код который вы написали он выводит сообщение в окошке, а в моем коде подсчет ведется на лету, то есть при изменении опшенов сразу же меняется resultat. я поэтому спрашиваю, а как этот самый результат вывести в формате 10,45 руб (пример), ато сейчас выводится вот так: 10,4500000400404 руб

jsru_ 31.10.2013 22:09

document.getElementById('resultat').value= parseFloat(t*s*250).toFixed(2) + " руб."

Aidar 31.10.2013 22:13

Цитата:

Сообщение от jsru_ (Сообщение 279007)
document.getElementById('resultat').value= parseFloat(t*s*250).toFixed(2) + " руб."

Круто! Спасибо! Сейчас карму вам еще раз подниму.


Часовой пояс GMT +3, время: 14:11.