Hola, tengo el siguiente problema. Estoy calculando con javascript lo que cuesta cada trabajador según las horas que haya trabajado. Después, al final, estoy sumando el total de horas y el total de importe de todos los trabajadores. El problema es el siguiente: los números enteros van perfectos, pero al ponerle decimales en el campo horas (el campo costeporhora está tomado desde la BD y tiene dos decimales) sale el resultado de la operación bien pero con muchos decimales, y entonces no me hace bien el calculo en el campo de total horas y total importe horas.¿Como puedo hacer para limitar el resultado de dichos campos a dos decimales? ¿O como puedo hacer que calcule teniendo tantos decimales? gracias por ayudarme.
este es el formulario donde se introducen los datos y donde se muestran los resultados:
Código PHP:
<table width="914" border="0">
<tbody>
<tr>
<td width="17">Gastos de pintura:</td>
<td width="11"><input name="gastospintura" type="text" id="gastospintura" onKeyUp="sumar2();" /></td>
</tr>
<tr>
<td>Gastos de recambios:</td>
<td><input name="gastosrecambios" type="text" id="gastosrecambios" onKeyUp="sumar2();"/></td>
</tr>
<tr>
<td><h3>Puesto</h3></td>
<td><h3>Trabajador</h3></td>
<td><h3>Coste por hora</h3></td>
<td><h3>Horas</h3></td>
<td><h3>Total Trabajador</h3></td>
</tr>
<tr>
<td bgcolor="#2E2EFE"><input name="puestotrabajador1" readonly type="text" id="puestotrabajador1" value="<?php echo $tra1['puesto']?>" /></td>
<td bgcolor="#2E2EFE"><input name="trabajador1" readonly type="text" id="trabajador1" value="<?php echo $tra1['nombre']?>" /></td>
<td><input name="costehoratrabajador1" style="width:80px" readonly onKeyUp="sumartrab1();" type="number" id="costehoratrabajador1" value="<?php echo $tra1['costehora']?>" /></td>
<td><input name="horastrabajador1" style="width:80px" type="number" onmouseout="sumarhoras();"onKeyUp="sumartrab1();"id="horastrabajador1" /></td>
<td><input name="totaltrabajador1" type="number" id="totaltrabajador1" onmouseout="importetotalhoras();"/></td>
</tr>
<tr>
<td bgcolor="#2E2EFE"><input name="puestotrabajador9" readonly type="text" id="puestotrabajador9" value="<?php echo $tra9['puesto']?>" /></td>
<td bgcolor="#2E2EFE"><input name="trabajador9" readonly type="text" id="trabajador9" value="<?php echo $tra9['nombre']?>" /></td>
<td><input name="costehoratrabajador9" style="width:80px" readonly onKeyUp="sumartrab9();" type="number" id="costehoratrabajador9" value="<?php echo $tra9['costehora']?>" /></td>
<td><input name="horastrabajador9" onmouseout="sumarhoras();" style="width:80px" type="number" onKeyUp="sumartrab9();" id="horastrabajador9" /></td>
<td><input name="totaltrabajador9" type="number" id="totaltrabajador9" onmouseout="importetotalhoras();"/></td>
</tr>
<tr>
<td bgcolor="#6E6E6E"><input name="puestotrabajador3" readonly type="text" id="puestotrabajador3" value="<?php echo $tra3['puesto']?>" /></td>
<td bgcolor="#6E6E6E"><input name="trabajador3" readonly type="text" id="trabajador3" value="<?php echo $tra3['nombre']?>" /></td>
<td><input name="costehoratrabajador3" style="width:80px" readonly onKeyUp="sumartrab3();" type="number" id="costehoratrabajador3" value="<?php echo $tra3['costehora']?>" /></td>
<td><input name="horastrabajador3" style="width:80px" type="number" onKeyUp="sumartrab3();" id="horastrabajador3" /></td>
<td><input name="totaltrabajador3" type="number" id="totaltrabajador3" onmouseout="importetotalhoras();"/></td>
</tr>
<tr>
<td bgcolor="#6E6E6E"><input name="puestotrabajador4" readonly type="text" id="puestotrabajador4" value="<?php echo $tra4['puesto']?>" /></td>
<td bgcolor="#6E6E6E"><input name="trabajador4" readonly type="text" id="trabajador4" value="<?php echo $tra4['nombre']?>" /></td>
<td><input name="costehoratrabajador4" style="width:80px" readonly onKeyUp="sumartrab4();" type="number" id="costehoratrabajador4" value="<?php echo $tra4['costehora']?>" /></td>
<td><input name="horastrabajador4" style="width:80px" type="number" onKeyUp="sumartrab4();" id="horastrabajador4" /></td>
<td><input name="totaltrabajador4" type="number" id="totaltrabajador4" onmouseout="importetotalhoras();"/></td>
</tr>
<tr>
<td bgcolor="#6E6E6E"><input name="puestotrabajador2" readonly type="text" id="puestotrabajador2" value="<?php echo $tra2['puesto']?>" /></td>
<td bgcolor="#6E6E6E"><input name="trabajador2" readonly type="text" id="trabajador2" value="<?php echo $tra2['nombre']?>" /></td>
<td><input name="costehoratrabajador2" style="width:80px" readonly onKeyUp="sumartrab2();" type="number" id="costehoratrabajador2" value="<?php echo $tra2['costehora']?>" /></td>
<td><input name="horastrabajador2" style="width:80px" type="number" onKeyUp="sumartrab2();" id="horastrabajador2" /></td>
<td><input name="totaltrabajador2" type="number" id="totaltrabajador2" onmouseout="importetotalhoras();"/></td>
</tr>
<tr>
<td bgcolor="#6E6E6E"><input name="puestotrabajador10" readonly type="text" id="puestotrabajador10" value="<?php echo $tra10['puesto']?>" /></td>
<td bgcolor="#6E6E6E"><input name="trabajador10" readonly type="text" id="trabajador10" value="<?php echo $tra10['nombre']?>" /></td>
<td><input name="costehoratrabajador10" style="width:80px" readonly onKeyUp="sumartrab10();" type="number" id="costehoratrabajador10" value="<?php echo $tra10['costehora']?>" /></td>
<td><input name="horastrabajador10" style="width:80px" type="number" onKeyUp="sumartrab10();" id="horastrabajador10" /></td>
<td><input name="totaltrabajador10" type="number" id="totaltrabajador10" onmouseout="importetotalhoras();"/></td>
</tr>
<tr>
<td bgcolor="#DF0101"><input name="puestotrabajador5" readonly type="text" id="puestotrabajador5" value="<?php echo $tra5['puesto']?>" /></td>
<td bgcolor="#DF0101"><input name="trabajador5" readonly type="text" id="trabajador5" value="<?php echo $tra5['nombre']?>" /></td>
<td><input name="costehoratrabajador5" style="width:80px" readonly onKeyUp="sumartrab5();" type="number" id="costehoratrabajador5" value="<?php echo $tra5['costehora']?>" /></td>
<td><input name="horastrabajador5" style="width:80px" type="number" onKeyUp="sumartrab5();" id="horastrabajador5" /></td>
<td><input name="totaltrabajador5" type="number" id="totaltrabajador5" onmouseout="importetotalhoras();"/></td>
</tr>
<tr>
<td bgcolor="#DF0101"><input name="puestotrabajador6" readonly type="text" id="puestotrabajador6" value="<?php echo $tra6['puesto']?>" /></td>
<td bgcolor="#DF0101"><input name="trabajador6" readonly type="text" id="trabajador6" value="<?php echo $tra6['nombre']?>" /></td>
<td><input name="costehoratrabajador6" style="width:80px" readonly onKeyUp="sumartrab6();" type="number" id="costehoratrabajador6" value="<?php echo $tra6['costehora']?>" /></td>
<td><input name="horastrabajador6" style="width:80px" type="number" onKeyUp="sumartrab6();" id="horastrabajador6" /></td>
<td><input name="totaltrabajador6" type="number" id="totaltrabajador6" onmouseout="importetotalhoras();"/></td>
</tr>
<tr>
<td bgcolor="#DF0101"><input name="puestotrabajador7" readonly type="text" id="puestotrabajador7" value="<?php echo $tra7['puesto']?>" /></td>
<td bgcolor="#DF0101"><input name="trabajador7" readonly type="text" id="trabajador7" value="<?php echo $tra7['nombre']?>" /></td>
<td><input name="costehoratrabajador7" style="width:80px" readonly onKeyUp="sumartrab7();" type="number" id="costehoratrabajador7" value="<?php echo $tra7['costehora']?>" /></td>
<td><input name="horastrabajador7" style="width:80px" type="number" onKeyUp="sumartrab7();" id="horastrabajador7" /></td>
<td><input name="totaltrabajador7" type="number" id="totaltrabajador7" onmouseout="importetotalhoras();"/></td>
</tr>
<tr>
<td bgcolor="#DF0101"><input name="puestotrabajador8" readonly type="text" id="puestotrabajador8" value="<?php echo $tra8['puesto']?>" /></td>
<td bgcolor="#DF0101"><input name="trabajador8" readonly type="text" id="trabajador8" value="<?php echo $tra8['nombre']?>" /></td>
<td><input name="costehoratrabajador8" style="width:80px" readonly onKeyUp="sumartrab8();" type="number" id="costehoratrabajador8" value="<?php echo $tra8['costehora']?>" /></td>
<td><input name="horastrabajador8" style="width:80px" type="number" onKeyUp="sumartrab8();" id="horastrabajador8" /></td>
<td><input name="totaltrabajador8" type="number" id="totaltrabajador8" onmouseout="importetotalhoras();"/></td>
</tr>
<tr>
<td bgcolor="#2E2EFE" >Pintores</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td bgcolor="#6E6E6E">Chapistas</td>
<td> </td>
<td> </td>
<td><h3>Total horas:</h3></td>
<td><h3>Importe Total Horas:</h3></td>
</tr>
<tr>
<td bgcolor="#DF0101">Montadores</td>
<td> </td>
<td> </td>
<td><input name="totalhoras" type="number" style="width:80px" id="totalhoras" /></td>
<td><input name="importetotalhoras" type="number" id="importetotalhoras" onmouseout="sumar2();"/></td>
</tr>
<tr>
<td><h3>Total gastos reparación:</h3></td>
<td><input name="importetotalgastos" type="number" id="importetotalgastos"/></td>
</tr>
</tbody>
</table>
Pongo debajo en un comentario las funciones javascript para que quepa todo.