функция умножения дробные числа
Код:
<script language='javascript'> |
<script language='javascript'> function do_math(f) { var kolvo = f.elements['kolvo'].value; var cena = f.elements['cena'].value; var res =cena*parseInt(kolvo); f.elements['r'].value = isNaN(res.toPrecision(1)) ? '' : res.toFixed(2); } </script> <form action="" method="post"> <table border="0" width="400px" align="center"> <tr> <td width="50%" align="left"><b>Количество:</b><br><br></td> <td width="50%" align="left"> <input type="text" name="kolvo" onChange="do_math(this.form)" size="15" maxlength="10"> </td> </tr> <tr> <td width="50%" align="left"><b>Цена:</b><br><br></td> <td width="50%" align="left"> <input type="text" name="cena" onChange="do_math(this.form)" size="15" maxlength="10" /> </td> </tr> <tr> <td width="150" align="left"><p> <label><b>Всего:</b></label> </td> <td width="250" align="left"> <input type="text" name="r" size="15" maxlength="5" tabindex="4"/> </td> </tr> </table> </form> |
Спасибо
|
wuldemar,
parseInt округляет дробные числа, т.к останавливается на десятичной точке. function do_math(f) { var kolvo = +f.elements['kolvo'].value; var cena = +f.elements['cena'].value; var res = kolvo * cena f.elements['r'].value = isNaN(res.toPrecision(1)) ? '' : res; } |
Цитата:
|
|
Еще маленькая проблемка с запятой (0,1) не считает и выводит после запятой 0.1 вместо 0.10
|
Цитата:
|
wuldemar, res.toFixed(2)
alert(.1.toFixed(2)) |
function do_math(f)
{ var kolvo = f.elements['kolvo'].value; var cena = f.elements['cena'].value; var res =cena*parseInt(kolvo); f.elements['r'].value = isNaN(res.toPrecision(1)) ? '' : res.toFixed(2); } Все спасибо работает норм! |
Часовой пояс GMT +3, время: 00:53. |