1.丢弃小数部分,保留整数部分
parseInt(5/2)
2.向上取整,有小数就整数部分加1
Math.ceil(5/2)
3,四舍五入.
Math.round(5/2)
4,向下取整
Math.floor(5/2)
Math 对象的方法
FF: Firefox, N: Netscape, IE: Internet Explorer
方法 描述 FF N IE
abs(x) 返回数的绝对值 1 2 3
acos(x) 返回数的反余弦值 1 2 3
asin(x) 返回数的反正弦值 1 2 3
atan(x) 以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值 1 2 3
atan2(y,x) 返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间) 1 2 3
ceil(x) 对一个数进行上舍入。 1 2 3
cos(x) 返回数的余弦 1 2 3
exp(x) 返回 e 的指数。 1 2 3
floor(x) 对一个数进行下舍入。 1 2 3
log(x) 返回数的自然对数(底为e) 1 2 3
max(x,y) 返回 x 和 y 中的最高值 1 2 3
min(x,y) 返回 x 和 y 中的最低值 1 2 3
pow(x,y) 返回 x 的 y 次幂 1 2 3
random() 返回 0 ~ 1 之间的随机数 1 2 3
round(x) 把一个数四舍五入为最接近的整数 1 2 3
sin(x) 返回数的正弦 1 2 3
sqrt(x) 返回数的平方根 1 2 3
tan(x) 返回一个角的正切 1 2 3
toSource() 代表对象的源代码 1 4 -
valueOf() 返回一个 Math 对象的原始值
js保留2位小数toFixed(xxxx)
var a = 9.39393;
alert(a.toFixed(2));
alert(Number.toFixed(9.39393));
返回的是9.39
对于一些小数点后有多位的浮点数,我们可能只需要保留2位,但js没有提供这样直接的函数,所以我们得自己写函数实现这个功能,代码如下:
function changeTwoDecimal(x)
{
var f_x = parseFloat(x);
if (isNaN(f_x))
{
alert('function:changeTwoDecimal->parameter error');
return false;
}
f_x = Math.round(f_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;
}
f_x = Math.round(f_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
另:
parseFloat 方法
返回由字符串转换得到的浮点数。
parseFloat(numString)
必选项 numString 参数是包含浮点数的字符串。
说明
parseFloat 方法返回与 numString 中保存的数相等的数字表示。如果 numString 的前缀不能解释为浮点数,则返回 NaN (而不是数字)。
parseFloat("abc") // 返回 NaN。
parseFloat("1.2abc") // 返回 1.2。
可以用 isNaN 方法检测 NaN。
示例1:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script>
function changetText() {
document.getElementById("txtB").value = document.getElementById("txtA").value;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtA" runat="server" onblur="changetText()"></asp:TextBox>
<asp:TextBox ID="txtB" runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
示例2:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script>
//把数值保存3位有效值
function changeThreeDecimal_f(varObj)
{
var x = varObj.value;
var f_x = parseFloat(x);
if (isNaN(f_x))
{
return;
}
f_x = Math.round(f_x*1000)/1000;
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 + 3)
{
s_x += '0';
}
varObj.value = s_x;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TextBox ID="txtA" runat="server" onblur="changeThreeDecimal_f(this)"></asp:TextBox>
<asp:TextBox ID="txtB" runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
分享到:
相关推荐
JavaScript实现检验除法运算JavaScript实现检验除法运算JavaScript实现检验除法运算JavaScript实现检验除法运算JavaScript实现检验除法运算
javascript的除法、乘法、加法结果会有误差,在两个浮点数相除的时候会比较明显。自定义几个函数返回较为精确的除法结果。
js ,加法,减法,乘法,除法,计算完之后,很多小数点,比如0.3 / 3 = 0.09999999999999999,尤其是在金钱方面万万不能四舍五入,加减乘除封装为方法,方便调用,完美解决
此计算为js前台计算它可以计算百分比。如果是在前台计算的话可以使用一下。
JavaScript 实现计算乘除法
js在处理小数的乘除法的时候有一个bug,解决的方法可以是:将小数变为整数来处理。以上的计算可以改为:12.32 * 100 * 7 /100得出的结果是:86.24,正确。 另外再计算一下:8.80 * 100 * 12 / 100结果:105....
JS小数加减乘除运算后小数点后产生多位数和计算精度损失的解决方案
NULL 博文链接:https://fishhappy365.iteye.com/blog/468105
在javascript中,当你使用小数进行加减乘除运算时,你会发现,所得到的结果有时后面带有长长的一段小数,使运算变得复杂,并且影响计算结果。上网查询了一下原因,大致如下:在javascript中,带小数的数据运算时总会...
html+js实现加减乘除运算, blog: http://blog.csdn.net/zhulei632/article/details/23596299
代码如下: //除法函数,用来得到精确的除法结果 //说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果。 //调用:accDiv(arg1,arg2) //返回值:arg1除以arg2的...
JS计算浮点数会出现错误的计算结果。 前几天遇到问题,网上找到一个人写的计算方法。但是除法的计算方法有些数据仍然会出现错误数据 于是发现问题并更改,希望对大家有帮助哈
代码如下:<SPAN xss=removed>//说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。 //调用:accAdd(arg1,arg2) //返回值:arg1加上arg2的精确结果 ...
曾经项目用到过的,之前在网上找到此代码,但在特定条件下除法和加法运算依然会出现BUG个人对此稍作优化 代码如下://除法函数,用来得到精确的除法结果//说明:javascript的除法结果会有误差,在两个浮点数相除的...
大整数.js 它是什么? biginteger.js 是一个实现...长除法和取模的算法改编自 Per Brinch Hansen 的 。 Jerry Shurman 从提取了一种有效的模幂算法。 执照 麻省理工学院执照。 有关完整条款,请参阅随附的许可文件。
计算 (a + ib)/(c + id) 并返回一个包含实部和虚部的二元素 JS 数组。 result是一个可选的Array或类型化数组,其中插入了输出。 例子 var cdiv = require ( 'complex-division' ) ; var result = cdiv ( 1 , 2 , ...
问题: 37.5*5.5=206.08 (JS算出来是这样的一个结果,我四舍五入取两位小数) 我先怀疑是四舍五入的问题,就直接用JS算了一个结果为:206.08499999999998 ...//除法函数,用来得到精确的除法结果 //
该应用程序提供了计算器的基本功能,可用于执行加法、减法、乘法和除法运算。尝试探索和使用此应用程序,以更好地了解此计算器 Web 应用程序提供的功能。 VanillaJS 中的基本计算器应用程序特征 基本 GUI 该项目包含...
主要给大家介绍了关于JS浮点数运算结果不精确的Bug解决,文中通过示例代码介绍的非常详细,对大家学习或者使用JS具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧