我正在尝试计算元素循环的价格:
function calculateBill(id,price)
{
var t = document.getElementById('total').value;
var qty = document.getElementById('qty_'+id).value;
var total = qty * price;
var tcost = Number(t) + Number(total);
document.getElementById('total').value = tcost ;
}
我的PHP循环是:
<form name="sendgoods.php" method="post">
<?php
unset($data2);
unset($result2);
for( $i2 = 0; $i2<count($r2); $i2++ )
{
?>
<tr>
<td><?php echo $r2[$i2]['veg_name']; ?></td>
<td><?php echo $r2[$i2]['ret_price']; ?></td>
<td><?php echo $r2[$i2]['mop']; ?></td>
<td><?php echo $r2[$i2]['ret_margin']; ?></td>
<td>
<input type="text" id = "qty_<?php echo $i2; ?>" name="qty_<?php echo $i2; ?>" onkeyup="calculateBill('<?php echo $i2; ?>','<?php echo round($r2[$i2]['ret_price'],2); ?>')" />
<input type="hidden" name="veg_name_<?php echo $i2; ?>" value="<?php echo $r2[$i2]['veg_name']; ?>" />
<input type="hidden" name="rate_<?php echo $i2; ?>" value="<?php echo $r2[$i2]['avg_rate']; ?>" />
<input type="hidden" name="mop_<?php echo $i2; ?>" value="<?php echo $r2[$i2]['mop']; ?>" />
<input type="hidden" name="ws_price_<?php echo $i2; ?>" value="<?php echo round($r2[$i2]['ws_price'],2); ?>" />
<input type="hidden" name="ws_margin_<?php echo $i2; ?>" value="<?php echo $r2[$i2]['ws_margin']; ?>" />
<input type="hidden" name="ret_price_<?php echo $i2; ?>" value="<?php echo round($r2[$i2]['ret_price'],2); ?>" />
<input type="hidden" name="ret_margin_<?php echo $i2; ?>" value="<?php echo $r2[$i2]['ret_margin']; ?>" />
</td>
</tr>
<?php } ?>
</table>
<input type="hidden" name="customer_id" value="<?php echo $cid; ?>" />
<input type="hidden" name="dt" value="<?php echo $dt_str; ?>" />
<input type="hidden" name="customer_type" value="<?php echo $ctype_id; ?>" />
<input type="hidden" name="counter" value="<?php echo count($r2); ?>" />
<input type="hidden" name="add_goods" value="1" />
<div class="we">
<span class="dscnt">DISCOUNT - </span>
<input type="text" id="discount" name="discount" onchange="calculateDiscount()" />
<span class="billng_amnt">Total Billing amount - </span>
<input type="text" id="total" readonly="readonly" />
</div>
<input type="submit" value="SUBMIT" />
</form>
我的问题是,如果我添加tcost .toFixed(0)
,它会计算每行总费用的舍入值。假设值为36,50.8和23.64。它计算为36 + 51 + 24 = 111.但我想要每行总计的舍入值,即36 + 50.8 + 23.64 = 110.44,它可以向上舍入为110.00。你能告诉我怎么做到这一点吗?
更新: 它就像假设你有3个循环。在第一个循环中,总行值为36,第二个循环的总行值为50.8(因此现在的总值为36 + 50.8)。第三个循环行值为23.64(因此总值为36 + 50.8 + 23.64)。如果我将固定(0)加到总数中,则加法将类似于(36 + 51 + 24)= 111。但客户需要加成如36 + 50.8 + 23.64 = 110.44,现在这个圆值是110.00。希望问题现在很清楚
答案 0 :(得分:0)
使用parseFloat
是为了 a = 30 b = 50.8 c = 23.64
value = parseFloat(a) + parseFloat(b) + parseFloat(c);
答案 1 :(得分:0)
嗨,读你的问题非常令人困惑......尤其是当你评论它说“它在php文件中”时......我认为这是一个javascript问题!?
您的计算也不正确
30 + 50.8 + 23.64 = 104.44
在javascript中:
var total = Number(30) + Number(50.8) + Number(23.64);
alert(total.toFixed()) // gives you '104'
希望有所帮助
答案 2 :(得分:0)