ma stworzony troszke wiekszy kalkulator:
<script type="text/javascript"> function number_format (number, decimals, dec_point, thousands_sep) { number = (number + '').replace(/[^0-9+\-Ee.]/g, ''); var n = !isFinite(+number) ? 0 : +number, prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, dec = (typeof dec_point === 'undefined') ? '.' : dec_point, s = '', toFixedFix = function (n, prec) { var k = Math.pow(10, prec); return '' + Math.round(n * k) / k; }; // Fix for IE parseFloat(0.55).toFixed(0) = 0; s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.'); if (s[0].length > 3) { s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep); } if ((s[1] || '').length < prec) { s[1] = s[1] || ''; s[1] += new Array(prec - s[1].length + 1).join('0'); } return s.join(dec); } function float_val(v) { v = parseFloat(String(v).replace(',', '.')) return isNaN(v) ? 0 : v } function zlicz(e) { var f=document.forms[0] f.kasaasuma.value = float_val(f.kasaa200.value) * 200 + float_val(f.kasaa001.value) *0.01 + float_val(f.kasaa002.value) *0.02 + float_val(f.kasaa005.value) *0.05 + float_val(f.kasaa010.value) *0.1 + float_val(f.kasaa020.value) * 0.2 + float_val(f.kasaa050.value) * 0.5 + float_val(f.kasaa1.value) *1 + float_val(f.kasaa2.value) *2 + float_val(f.kasaa5.value) *5 + float_val(f.kasaa10.value) *10 + float_val(f.kasaa20.value) *20 + float_val(f.kasaa50.value) *50 + float_val(f.kasaa100.value) *100 f.kasaasuma200.value = float_val(f.kasaa200.value) * 200 f.kasaasuma100.value = float_val(f.kasaa100.value) * 100 f.kasaasuma50.value = float_val(f.kasaa50.value) * 50 f.kasaasuma20.value = float_val(f.kasaa20.value) * 20 f.kasaasuma10.value = float_val(f.kasaa10.value) * 10 f.kasaasuma5.value = float_val(f.kasaa5.value) * 5 f.kasaasuma2.value = float_val(f.kasaa2.value) * 2 f.kasaasuma1.value = float_val(f.kasaa1.value) * 1 f.kasaasuma050.value = float_val(f.kasaa050.value) * 0.5 f.kasaasuma020.value = float_val(f.kasaa020.value) * 0.2 f.kasaasuma010.value = float_val(f.kasaa010.value) * 0.1 f.kasaasuma005.value = float_val(f.kasaa005.value) * 0.05 f.kasaasuma002.value = float_val(f.kasaa002.value) * 0.02 f.kasaasuma001.value = float_val(f.kasaa001.value) * 0.01 f.kasabsuma.value = float_val(f.kasab200.value) * 200 + float_val(f.kasab001.value) *0.01 + float_val(f.kasab002.value) *0.02 + float_val(f.kasab005.value) *0.05 + float_val(f.kasab010.value) *0.1 + float_val(f.kasab020.value) * 0.2 + float_val(f.kasab050.value) * 0.5 + float_val(f.kasab1.value) *1 + float_val(f.kasab2.value) *2 + float_val(f.kasab5.value) *5 + float_val(f.kasab10.value) *10 + float_val(f.kasab20.value) *20 + float_val(f.kasab50.value) *50 + float_val(f.kasab100.value) *100 f.kasabsuma200.value = float_val(f.kasab200.value) * 200 f.kasabsuma100.value = float_val(f.kasab100.value) * 100 f.kasabsuma50.value = float_val(f.kasab50.value) * 50 f.kasabsuma20.value = float_val(f.kasab20.value) * 20 f.kasabsuma10.value = float_val(f.kasab10.value) * 10 f.kasabsuma5.value = float_val(f.kasab5.value) * 5 f.kasabsuma2.value = float_val(f.kasab2.value) * 2 f.kasabsuma1.value = float_val(f.kasab1.value) * 1 f.kasabsuma050.value = float_val(f.kasab050.value) * 0.5 f.kasabsuma020.value = float_val(f.kasab020.value) * 0.2 f.kasabsuma010.value = float_val(f.kasab010.value) * 0.1 f.kasabsuma005.value = float_val(f.kasab005.value) * 0.05 f.kasabsuma002.value = float_val(f.kasab002.value) * 0.02 f.kasabsuma001.value = float_val(f.kasab001.value) * 0.01 var aaa = float_val(f.kasaasuma.value) f.kasaa.value = number_format(aaa, 2, ',', ' '); var bbb = float_val(f.kasabsuma.value) f.kasab.value = number_format(bbb, 2, ',', ' '); var a=float_val(f.utargkasa.value) - float_val(f.utargwu.value)+float_val(f.utargria.value)+float_val(f.utargloo.value)+float_val(f.utargwuwplata.value)+float_val(f.utarglvm.value) - float_val(f.platnosckarta.value) - float_val(f.platnoscpayback.value) + float_val(f.poczatek.value) f.koniec.value = number_format(a, 2, ',', ' '); f.konieckoniec.value = number_format(a, 2, '.', ''); var b=float_val(f.poczatek.value) + float_val(f.utargkasa.value) - float_val(f.utargwu.value) - float_val(f.platnosckarta.value) - float_val(f.platnoscpayback.value) f.koniecdnia.value = number_format(b, 2, '.', ''); var fff = (float_val(f.kasaa.value) + float_val(f.kasab.value))-(b+float_val(f.utargria.value)+float_val(f.utargloo.value)+float_val(f.utarglvm.value)+float_val(f.utargwuwplata.value)); f.wkasie.value = number_format(fff, 2, ',', ' '); f.stankasy.value = number_format(fff, 2, '.', ''); } </script>
Niestety jezeli jakiekolwiek zmiennej np. f.kasabsuma200.value ... f.kasabsuma001.value będą posiadały wartość powyżej 1 000 to do zmiennej nie sa doliczane 3 ostatnie pozycje. Tak jakby powodem byl separator tysiecznych. Niestety w tym skrypcie nie mogę znaleźć prowodyra tej akcji. Czy mogłaby prosić Was o pomoc?