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>
帮我补充后,计算结果只显示小数点后的两位 谢谢啦! 展开
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>
帮我补充后,计算结果只显示小数点后的两位 谢谢啦! 展开
2个回答
展开全部
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
对于一些小数点后有多位的浮点数,我们可能只需要保留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里面的,所有才求助的哦,麻烦你辛苦下,帮我加下
展开全部
parseFloat(price).toFixed(2)
这样就是保留小数点后2位,自动四舍五入。
这样就是保留小数点后2位,自动四舍五入。
更多追问追答
追问
是加到哪个位置呢?对JS不熟悉,麻烦你了
追答
for(var i =0;i<amount.length;i++)
{
sum[i].value=parseFloat(amount[i].value*price[i].value).toFixed(2);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询