JS保留两位、三位小数(带四舍五入)
2015-04-22 11:31
363 查看
js保留2位小数toFixed(xxxx)
vara=9.39393;
alert(a.toFixed(2));
alert(Number.toFixed(9.39393));
返回的是9.39
对于一些小数点后有多位的浮点数,我们可能只需要保留2位,但js没有提供这样直接的函数,所以我们得自己写函数实现这个功能,代码如下:
functionchangeTwoDecimal(x)
{
varf_x=parseFloat(x);
if(isNaN(f_x))
{
alert('function:changeTwoDecimal->parametererror');
returnfalse;
}
f_x=Math.round(f_x*100)/100;
returnf_x;
}
功能:将浮点数四舍五入,取小数点后2位
用法:changeTwoDecimal(3.1415926)返回3.14
changeTwoDecimal(3.1475926)返回3.15
js保留2位小数(强制)
对于小数点位数大于2位的,用上面的函数没问题,但是如果小于2位的,比如:
changeTwoDecimal(3.1),将返回3.1,如果你一定需要3.10这样的格式,那么需要下面的这个函数:
functionchangeTwoDecimal_f(x)
{
varf_x=parseFloat(x);
if(isNaN(f_x))
{
alert('function:changeTwoDecimal->parametererror');
returnfalse;
}
f_x=Math.round(f_x*100)/100;
vars_x=f_x.toString();
varpos_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';
}
returns_x;
}
功能:将浮点数四舍五入,取小数点后2位,如果不足2位则补0,这个函数返回的是字符串的格式
用法:changeTwoDecimal(3.1415926)返回3.14
changeTwoDecimal(3.1)返回3.10
另:
必选项numString参数是包含浮点数的字符串。
可以用isNaN方法检测NaN。
示例1:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>无标题页</title>
<script>
functionchangetText(){
document.getElementById("txtB").value=document.getElementById("txtA").value;
}
</script>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:TextBoxID="txtA"runat="server"onblur="changetText()"></asp:TextBox>
<asp:TextBoxID="txtB"runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
示例2:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>无标题页</title>
<script>
//把数值保存3位有效值
functionchangeThreeDecimal_f(varObj)
{
varx=varObj.value;
varf_x=parseFloat(x);
if(isNaN(f_x))
{
return;
}
f_x=Math.round(f_x*1000)/1000;
vars_x=f_x.toString();
varpos_decimal=s_x.indexOf('.');
if(pos_decimal<0)
{
pos_decimal=s_x.length;
s_x+='.';
}
while(s_x.length<=pos_decimal+3)
{
s_x+='0';
}
varObj.value=s_x;
}
</script>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:TextBoxID="txtA"runat="server"onblur="changeThreeDecimal_f(this)"></asp:TextBox>
<asp:TextBoxID="txtB"runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
vara=9.39393;
alert(a.toFixed(2));
alert(Number.toFixed(9.39393));
返回的是9.39
对于一些小数点后有多位的浮点数,我们可能只需要保留2位,但js没有提供这样直接的函数,所以我们得自己写函数实现这个功能,代码如下:
functionchangeTwoDecimal(x)
{
varf_x=parseFloat(x);
if(isNaN(f_x))
{
alert('function:changeTwoDecimal->parametererror');
returnfalse;
}
f_x=Math.round(f_x*100)/100;
returnf_x;
}
功能:将浮点数四舍五入,取小数点后2位
用法:changeTwoDecimal(3.1415926)返回3.14
changeTwoDecimal(3.1475926)返回3.15
js保留2位小数(强制)
对于小数点位数大于2位的,用上面的函数没问题,但是如果小于2位的,比如:
changeTwoDecimal(3.1),将返回3.1,如果你一定需要3.10这样的格式,那么需要下面的这个函数:
functionchangeTwoDecimal_f(x)
{
varf_x=parseFloat(x);
if(isNaN(f_x))
{
alert('function:changeTwoDecimal->parametererror');
returnfalse;
}
f_x=Math.round(f_x*100)/100;
vars_x=f_x.toString();
varpos_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';
}
returns_x;
}
功能:将浮点数四舍五入,取小数点后2位,如果不足2位则补0,这个函数返回的是字符串的格式
用法:changeTwoDecimal(3.1415926)返回3.14
changeTwoDecimal(3.1)返回3.10
另:
parseFloat方法
返回由字符串转换得到的浮点数。parseFloat(numString)
必选项numString参数是包含浮点数的字符串。
说明
parseFloat方法返回与numString中保存的数相等的数字表示。如果numString的前缀不能解释为浮点数,则返回NaN(而不是数字)。parseFloat("abc")
//返回
NaN。
parseFloat("1.2abc")
//返回
1.2。[/code]
可以用isNaN方法检测NaN。
示例1:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""
<htmlxmlns="
<headrunat="server">
<title>无标题页</title>
<script>
functionchangetText(){
document.getElementById("txtB").value=document.getElementById("txtA").value;
}
</script>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:TextBoxID="txtA"runat="server"onblur="changetText()"></asp:TextBox>
<asp:TextBoxID="txtB"runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
示例2:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""
<htmlxmlns="
<headrunat="server">
<title>无标题页</title>
<script>
//把数值保存3位有效值
functionchangeThreeDecimal_f(varObj)
{
varx=varObj.value;
varf_x=parseFloat(x);
if(isNaN(f_x))
{
return;
}
f_x=Math.round(f_x*1000)/1000;
vars_x=f_x.toString();
varpos_decimal=s_x.indexOf('.');
if(pos_decimal<0)
{
pos_decimal=s_x.length;
s_x+='.';
}
while(s_x.length<=pos_decimal+3)
{
s_x+='0';
}
varObj.value=s_x;
}
</script>
</head>
<body>
<formid="form1"runat="server">
<div>
<asp:TextBoxID="txtA"runat="server"onblur="changeThreeDecimal_f(this)"></asp:TextBox>
<asp:TextBoxID="txtB"runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
相关文章推荐
- 验证数字可以有千分符可以有0个1个小数点小数点后输入后四舍五入保留两位(写个js验证真费劲)
- js实现四舍五入完全保留两位小数的方法
- JS保留两位小数(不四舍五入),向下取偶数
- java四舍五入BigDecimal和js保留小数点两位
- js中如何保留两位小数(四舍五入)
- JS保留四舍五入两小数(解决保留两位小数输入1.999变成1.100的问题)
- js 保留两位小数,不要四舍五入
- js 让小数四舍五入保留两位小数的函数是?
- JS保留两位小数 四舍五入函数
- 新JS四舍五入保留两位小数
- Js的四舍五入和进一(保留两位小数)
- js中如何保留两位小数(四舍五入)
- js除法四舍五入保留小数点后两位写法
- js浮点数保留两位小数点(四舍五入)
- js 四舍五入,保留两位小数
- JAVA保留两位小数(四舍五入)
- js四舍五入保留几位小数,整数部分每3位用逗号隔开
- js 四舍五入并保留2位小数
- js 保留两位小数