没有小数的数据循环的Javascript计算
Javascript calculation for a data loop with no decimals
我正在尝试计算元素循环的价格:
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)。如果我将toFixed(0)加到总数上,则相加结果将是(36 + 51 + 24)= 111。但是客户需要的加法是36 + 50.8 + 23.64 = 110.44,现在它的四舍五入值是110.00。希望问题现在讲清楚了
使用parseFloat
就是forA = 30B = 50.8C = 23.64
value = parseFloat(a) + parseFloat(b) + parseFloat(c);
你好,Reading,你的问题非常令人困惑…特别是当你评论说"它在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'
希望对大家有所帮助
似乎你想四舍五入的值。Math中有3个函数:
- Math.floor <一口> MDN> 学。ceilMDN:返回大于或等于数字的最小整数。一口>
- 数学。roundMDN:返回一个四舍五入到最接近的整数的值。
但是我想要的是每行总数的四舍五入值,即36 + 50.8 + 23.64= 110.44,四舍五入为110.00
我认为你需要Math.round
:
Math.round ( 110.44 ) //110
相关文章:
- 使用CSS或JavaScript计算分页符的数量
- JavaScript计算帮助(乘以时间)
- 四舍五入JavaScript计算
- 获取唯一值并使用javascript计算金额总和
- JavaScript计算项目的总价
- 如何用javascript计算从现在开始的时间
- 再次使用JavaScript计算两个日期之间的天数
- 删除项目时的JavaScript计算
- 需要JavaScript计算帮助
- JavaScript-计算两个日期之间的天数(包括结束日期)
- JavaScript:计算字符串中特定整数的实例
- 使用 JavaScript 计算并添加表单输入的值
- 使用 javascript 计算 Telerik RadDatePicker 日期差
- 使用 JavaScript 计算 Blob 的哈希值
- Javascript计算明年的同一个工作日
- 如何将我通过JavaScript计算的自定义金额作为金额发送到PHP表单
- javascript计算价格的小算法
- Javascript计算不适用于第二个文本字段
- javascript计算字段比较算法
- JavaScript计算不同于Firefox的图像尺寸(?)