15. maj 2003 - 11:11
Der er
4 kommentarer og 1 løsning
Afrunding til nærmeste antal hundrede i beregninger
Jeg har ved hjælp af olebole og jespernaur fået lavet nedenstående script. Nu viser det sig, at jeg får behov for at runde B3 (skøde) og B4 (pantebrev) op til nærmeste antal hundrede kr. Tallene skal altid rundes op (eks. 1405 -> 1500) - kan dette lade sig gøre ? Endvidere vil jeg gerne have alle beregninger præsenteret med 2 decimaler - hvordan gør jeg det ? <html> <head> <script type="text/JavaScript"> function pF(str) { return parseFloat(str); } var calced = false; function calc(f) { if (f.L1.value=="" || f.L2.value=="" || f.B2.value=="" || f.B5.value=="" || f.B6.value=="" || f.B7.value=="") { alert("Udfyld alle fornødne felter"); return false; } f.B1.value = f.L1.value * f.L2.value; f.B3.value = (0.006 * f.B1.value) + 1400; f.B4.value = (0.015 * (0.8 * f.B1.value)) + 1400; f.B8.value = pF(f.B1.value) + pF(f.B2.value) + pF(f.B3.value) + pF(f.B4.value) + pF(f.B5.value) + pF(f.B6.value) + pF(f.B7.value); calced = true; } function checkCalc() { if (!calced) { alert("Tryk først beregn"); return false; } } </script> </head> <body> <form action="din_fil.asp" method="post" onsubmit="return checkCalc()"> Antal kvadratmeter: <input type="text" name="L1"><br> Kvadratmeterpris: <input type="text" name="L2"><br> Købesum: <input type="text" name="B1"><br> Tilslutningsbidrag: <input type="text" name="B2"><br> Skøde: <input type="text" name="B3"><br> Pantebrev: <input type="text" name="B4"><br> Eltilslutning: <input type="text" name="B5"><br> Vandtilslutning: <input type="text" name="B6"><br> Varmetilslutning: <input type="text" name="B7"><br> Ialt: <input type="text" name="B8"><br> <button onclick="calc(this.form)">Beregn</button> <button type="submit">Send</button> </form> </body> </html> Venlig hilsen René
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
f.B3.value = 100*Math.ceil((0.006 * f.B1.value)/100) + 1400; f.B4.value = 100*Math.ceil((0.015 * (0.8 * f.B1.value))/100) + 1400;
Der er et helt klart problem med , og . -- det skal vel også løses?? <html> <head> <script type="text/JavaScript"> function pF(str) { return parseFloat(str); } function toDecs(t){ nyT=""+(Math.round(t*100))/100; if (nyT.indexOf(".")==-1){ nyT=nyT+".00" } return nyT; } var calced = false; function calc(f) { if (f.L1.value=="" || f.L2.value=="" || f.B2.value=="" || f.B5.value=="" || f.B6.value=="" || f.B7.value=="") { alert("Udfyld alle fornødne felter"); return false; } f.B1.value = toDecs(f.L1.value * f.L2.value); f.B3.value = toDecs(100*Math.ceil((0.006 * f.B1.value)/100) + 1400); f.B4.value = toDecs(100*Math.ceil((0.015 * (0.8 * f.B1.value))/100) + 1400); f.B8.value = toDecs(pF(f.B1.value) + pF(f.B2.value) + pF(f.B3.value) + pF(f.B4.value) + pF(f.B5.value) + pF(f.B6.value) + pF(f.B7.value)); calced = true; } function checkCalc() { if (!calced) { alert("Tryk først beregn"); return false; } } </script> </head> <body> <form action="din_fil.asp" method="post" onsubmit="return checkCalc()"> Antal kvadratmeter: <input type="text" name="L1"><br> Kvadratmeterpris: <input type="text" name="L2"><br> Købesum: <input type="text" name="B1"><br> Tilslutningsbidrag: <input type="text" name="B2"><br> Skøde: <input type="text" name="B3"><br> Pantebrev: <input type="text" name="B4"><br> Eltilslutning: <input type="text" name="B5"><br> Vandtilslutning: <input type="text" name="B6"><br> Varmetilslutning: <input type="text" name="B7"><br> Ialt: <input type="text" name="B8"><br> <button onclick="calc(this.form)">Beregn</button> <button type="submit">Send</button> </form> </body> </html> hth jes
Og sådan den også sørger for 2 decimaler, hvis der er 1 i forvejen: function toDecs(t){ nyT=""+(Math.round(t*100))/100; if (nyT.indexOf(".")==-1){ nyT=nyT+".00"; } if (nyT.indexOf(".")==nyT.length-2){ nyT=nyT+"0"; } return nyT; }
Mange tak for de hurtige svar
Velbekomme -- og tak for points ;~}
Vi tilbyder markedets bedste kurser inden for webudvikling