我正在计算报价的3个方面(表格),在提交表格后,使用TCPDF将报价生成为PDF。
但是,对于舍入值和计算单独的增值税几乎没有什么问题。
这是textarea,输入和选择 - >
的方面/材料之一<form action="pdf/gen-czk-pdf.php" method="get">
<table>
<tr>
<td><textarea name="materialItemName[]"></textarea></td>
<td><input type="text" class="jednotkovaCenaMaterialu" name="materialUnitPrice[]" value="0.00" /></td>
<td><input type="text" class="pocetJednotekMaterialu" name="materialItemQuantity[]" value="1.00" /></td>
<td><select name="materialUnitType[]"><option value="m²">m²</option><option value="m³">m³</option><option value="bm">bm</option><option value="ks">ks</option><option value="kg">kg</option><option value="l">l</option><option value=" "> </option></select></td>
<td><input type="text" class="koeficientMaterialovePolozky" name="materialItemCoeff[]" value="1.00" /></td>
<td><input type="text" class="celkemMaterialovaPolozkaBezDph" name="materialItemPriceNoVat[]" value="0" /></td>
<td><select class="dphPolozkaMaterial" name="materialItemVat[]"><option value="1.21">1.21</option><option value="1.15">1.15</option></select></td>
<td><input type="text" class="celkemMaterialovaPolozkaDph" name="materialItemSumVat[]" value="0" /></td>
<td><input type="text" class="celkemMaterialovaPolozkaSDph" name="materialItemPriceInVat[]" value="0" /></td>
</tr>
</table>
</form>
AND SCRIPT - &gt;
// countig material item price, no VAT
$('.jednotkovaCenaMaterialu, .pocetJednotekMaterialu, .koeficientMaterialovePolozky, .dphPolozkaMaterial, .celkemMaterialovaPolozkaBezDph').live('focus click keyup keypress blur', function() {
var sumamaterialovapolozkabezdph = 0;
$('.celkemMaterialovaPolozkaBezDph').each( function(key, val){
sumamaterialovapolozkabezdph+= Number($($('.celkemMaterialovaPolozkaBezDph')[key]).val());
Number($($('.celkemMaterialovaPolozkaBezDph')[key]).val(( Number($($('.jednotkovaCenaMaterialu')[key]).val()) * Number($($('.pocetJednotekMaterialu')[key]).val()) * Number($($('.koeficientMaterialovePolozky')[key]).val()))));
var totalsumnovat = parseInt($('.materialCelkemBezDph').val())+parseInt($('.montazCelkemBezDph').val())+parseInt($('.vedlejsiNakladyCelkemBezDph').val());
$('.total-sum').val(totalsumnovat);
// countig material item price, including VAT
var sumamaterialovapolozkasdph = 0;
$('.celkemMaterialovaPolozkaSDph').each( function(key, val){
sumamaterialovapolozkasdph+= Number($($('.celkemMaterialovaPolozkaSDph')[key]).val());
Number($($('.celkemMaterialovaPolozkaSDph')[key]).val(( Number($($('.jednotkovaCenaMaterialu')[key]).val()) * Number($($('.pocetJednotekMaterialu')[key]).val()) * Number($($('.koeficientMaterialovePolozky')[key]).val()) * Number($($('.dphPolozkaMaterial')[key]).val()))));
var totalsumincludevat = parseInt($('.materialCelkemSDph').val())+parseInt($('.montazCelkemSDph').val())+parseInt($('.vedlejsiNakladyCelkemSDph').val());
$('.total-sum-in-vat').val(totalsumincludevat);
});
// section summary
$('.materialCelkemBezDph').val(sumamaterialovapolozkabezdph)
$('.materialCelkemSDph').val(sumamaterialovapolozkasdph);
});
});
我的问题 - &gt;
第一个问题如何按照以下模式舍入汇总值?当然,所有的值都是未知的。
12205.12500 - &gt; 12,205.13
12205.12499 - &gt; 12,205.12
摘要值 - &gt;
$('.celkemMaterialovaPolozkaBezDph, .celkemMaterialovaPolozkaDph, .celkemMaterialovaPolozkaSDph')
第二个问题如何计算单独的增值税值?
增值税值 - &gt;
$('.celkemMaterialovaPolozkaDph')
增值税值取决于下面提到的模式
.jednotkovaCenaMaterialu * .pocetJednotekMaterialu * .koeficientMaterialovePolozky * (.dphPolozkaMaterial - 1)
我知道我的代码不是最好的,但是我会很感激任何帮助。非常感谢
答案 0 :(得分:1)
问题1: 你可以用
var num = 12205.12500;
num = Math.ceil(num * 100) / 100;
alert(num); // 12205.13;
掩蔽可以轻松完成
var formattedString = parseFloat("1200000.15").toLocaleString()
formattedString将包含“12,205.13”
答案 1 :(得分:0)
javascript Number
对象作为.toFixed()
的几个有用的方法,它们将在点之后设置固定的数字位数。
var x = new Number(123.568);
console.log(x.toFixed(1));
console.log(x.toFixed(2));
结果将是
123.6
123.57
http://www.w3schools.com/jsref/jsref_obj_number.asp
您还可以使用Math
库函数。有3个有用的函数,.floor()
,.round()
和.ceil()
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/floor