javascript自动计算金额(计算结果只显示小数点后的两位)

<scriptlanguage="javascript">window.onload=function(){varamount=document.getElementsB... <script language="javascript">
window.onload=function(){
var amount=document.getElementsByName("amount");
var price=document.getElementsByName("price");
var sum=document.getElementsByName("sum");
for(var i =0;i<amount.length;i++)
{
sum[i].value=amount[i].value*price[i].value;
}
}
</script>
<input name="amount" type="text" id="amount" value="1">*<input name="price" type="text" id="price" value="2">
=<input type="text" name="sum" id="sum"><br>
<input name="amount" type="text" id="amount" value="3">*<input name="price" type="text" id="price" value="4">
=<input type="text" name="sum" id="sum"><br>
<input name="amount" type="text" id="amount" value="5">*<input name="price" type="text" id="price" value="6">=
<input type="text" name="sum" id="sum"><br>
帮我补充后,计算结果只显示小数点后的两位 谢谢啦!
展开
 我来答
czp0608
2012-01-04 · TA获得超过489个赞
知道小有建树答主
回答量:360
采纳率:0%
帮助的人:205万
展开全部
JS保留两位小数

对于一些小数点后有多位的浮点数,我们可能只需要保留2位,但js没有提供这样直接的函数,所以我们得自己写函数实现这个功能,代码如下:

function changeTwoDecimal(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert('function:changeTwoDecimal->parameter error');
return false;
}
var f_x = Math.round(x*100)/100;

return f_x;
}

功能:将浮点数四舍五入,取小数点后2位

用法:changeTwoDecimal(3.1415926) 返回 3.14

changeTwoDecimal(3.1475926) 返回 3.15

js保留2位小数(强制)

对于小数点位数大于2位的,用上面的函数没问题,但是如果小于2位的,比如:

changeTwoDecimal(3.1),将返回 3.1,如果你一定需要3.10这样的格式,那么需要下面的这个函数:

function changeTwoDecimal_f(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert('function:changeTwoDecimal->parameter error');
return false;
}
var f_x = Math.round(x*100)/100;
var s_x = f_x.toString();
var pos_decimal = s_x.indexOf('.');
if (pos_decimal < 0)
{
pos_decimal = s_x.length;
s_x += '.';
}
while (s_x.length <= pos_decimal + 2)
{
s_x += '0';
}
return s_x;
}

功能:将浮点数四舍五入,取小数点后2位,如果不足2位则补0,这个函数返回的是字符串的格式

用法:changeTwoDecimal(3.1415926) 返回 3.14

changeTwoDecimal(3.1) 返回 3.10

http://apps.hi.baidu.com/share/detail/51532148
追问
我不知道怎么把浮点数四舍五入功能加到上面的JS里面的,所有才求助的哦,麻烦你辛苦下,帮我加下
wnq0204
推荐于2017-12-16 · TA获得超过257个赞
知道小有建树答主
回答量:312
采纳率:0%
帮助的人:261万
展开全部
parseFloat(price).toFixed(2)
这样就是保留小数点后2位,自动四舍五入。
更多追问追答
追问
是加到哪个位置呢?对JS不熟悉,麻烦你了
追答
for(var i =0;i<amount.length;i++)
{
sum[i].value=parseFloat(amount[i].value*price[i].value).toFixed(2);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式