一、toFixed()方法,它可以四舍五入到小数点后指定位数
var shuzi = "10.383"
document.write(shuzi.toFixed(2))
在js中会输出:10.38 toFixed(2)表示四舍五入到小数点的后两位.
二、round()方法,不同于toFixed,它是将小数四舍五入位整数
Math.round(0.80)
输出为:1
虽然round方法只能四舍五入为整数,但是可以先将指定位数先化为整数进行四舍五入操作,然后在重新除以化为整数的倍数恢复原来的数值即可获得指定位数的小数.
var ws=2
var wsbs=Math.pow(10,ws)
var shuzi = 18.138571
document.write( Math.round(shuzi * wsbs ) / wsbs )
ws为指定小数的位数,wsbs为10的ws次方,为了将小数先化为整数好让round函数先四舍五入,然后再转为原来的大小.
js代码中除了round方法能够将小数转为整数,还有floor()向下取整即正数向下舍入,负数向更大的负数舍入.
Math.floor(0.80)//0
Math.floor(-6.3)//-7
ceil()与floor()相反,他是向上面取整,正数向更大的整数取整,负数向更小的负数取整.
Math.ceil(0.80)//1
Math.ceil(-7.9)// -7
同理,它们都可以像round方法一样,通过先将小数化为整数处理后再将其重新转为小数,只需要将上面代码中的Math.round分别改为Math.ceil或Math.floor.
三、通过substring来直接截取,它可以获得指定位数的小数,不对多余的小数进行舍入操作。
var ws=2
var shuzi = 19.138578
document.write(shuzi.substring(0,s.(".")+ws+1))
首先用到indexOf方法获取小数点再数字中第一次出现的位置,然后加上需要保留的小数点后面的位数以及小数点,通过substring提取字符从第一为到指定位数的字符.
四、正则来截取小数点后面的位数
var ws=2
var shuzi = 19.138578
blsz = num.replace("/([0-9]+\.[0-9]{"+ws+"})[0-9]*/","$1")
alert(blsz)
五、同上也是正则方法
var shuzi = 19.138578
var ws = 2
var blsz = new RegExp("\d+\.\d{" + ws + "}","gm")
alert(shuzi.match(blsz))
两个正则区别在于使用的正则函数方法不同,它们都额可以得到指定位数的小数.
以上就是在js代码中比较实用的几种处理小数点后面的小数位数的方式.
JS中Math函数的常用方法
Math是数学函数,但又属于对象数据类型typeof Math=>‘object’
console.dir(Math)查看Math的所有函数方法。
1,Math.abs()获取绝对值
Math.abs(-12) = 12
2,Math.ceil() and Math.floor()向上取整和向下取整
console.log(Math.ceil(12.03))//13
console.log(Math.ceil(12.92))//13
console.log(Math.floor(12.3))//12
console.log(Math.floor(12.9))//12
3,Math.round()四舍五入
注意:正数时,包含5是向上取整,负数时包含5是向下取整。
1、Math.round(-16.3) = -16
2、Math.round(-16.5) = -16
3、Math.round(-16.51) = -17
4,Math.random()取[0,1)的随机小数
案例1:获取[0,10]的随机整数
console.log(parseInt(Math.random()*10))//未包含10
console.log(parseInt(Math.random()*10+1))//包含10
案例2:获取[n,m]之间的随机整数
Math.round(Math.random()*(m-n)+n)
5,Math.max() and Max.min()获取一组数据中的最大值和最小值
console.log(Math.max(10,1,9,100,200,45,78))
console.log(Math.min(10,1,9,100,200,45,78))
6,Math.PI获取圆周率π 的值
console.log(Math.PI)
7,Math.pow() and Math.sqrt()
Math.pow()获取一个值的多少次幂
Math.sqrt()对数值开方
Math.pow(10,2) = 100
Math.sqrt(100) = 10
第一类:常规函数包括以下9个函数:
(1)alert函数:显示一个警告对话框,包括一个OK按钮。
(2)confirm函数:显示一个确认对话框,包括OK、Cancel按钮。
(3)escape函数:将字符转换成Unicode码。
(4)eval函数:计算表达式的结果。
(5)isNaN函数:测试是(true)否(false)不是一个数字。
(6)parseFloat函数:将字符串转换成符点数字形式。
(7)parseInt函数:将符串转换成整数数字形式(可指定几进制)。
(8)prompt函数:显示一个输入对话框,提示等待用户输入。
第二类:数组函数
包括以下4个函数:
(1)join函数:转换并连接数组中的所有元素为一个字符串。
(2)langth函数:返回数组的长度。
(3)reverse函数:将数组元素顺序颠倒。
(4)sort函数:将数组元素重新排序。
第三类:日期函数
包括以下20个函数:
(1)getDate函数:返回日期的“日”部分,值为1~31
(2)getDay函数:返回星期几,值为0~6,其中0表示星期日,1表示星期一,...,6表示星期六
(3)getHours函数:返回日期的“小时”部分,值为0~23。
(4)getMinutes函数:返回日期的“分钟”部分,值为0~59。见上例。
(5)getMonth函数:返回日期的“月”部分,值为0~11。其中0表示1月,2表示3月,...,11表示12月。见前面的例子。
(6)getSeconds函数:返回日期的“秒”部分,值为0~59。见前面的例子。
(7)getTime函数:返回系统时间。
(8)getTimezoneOffset函数:返回此地区的时差(当地时间与GMT格林威治标准时间的地区时差),单位为分钟。
(9)getYear函数:返回日期的“年”部分。返回值以1900年为基数,例如1999年为99。
(10)parse函数:返回从1970年1月1日零时整算起的毫秒数(当地时间)。
(11)setDate函数:设定日期的“日”部分,值为0~31。
(12)setHours函数:设定日期的“小时”部分,值为0~23。
(13)setMinutes函数:设定日期的“分钟”部分,值为0~59。
(14)setMonth函数:设定日期的“月”部分,值为0~11。其中0表示1月,...,11表示12月。
(15)setSeconds函数:设定日期的“秒”部分,值为0~59。
(16)setTime函数:设定时间。时间数值为1970年1月1日零时整算起的毫秒数。
(17)setYear函数:设定日期的“年”部分。
(18)toGMTString函数:转换日期成为字符串,为GMT格林威治标准时间。
(19)setLocaleString函数:转换日期成为字符串,为当地时间。
(20)UTC函数:返回从1970年1月1日零时整算起的毫秒数,以GMT格林威治标准时间计算。
第四类:数学函数
函数有以下18个:
(1)abs函数:即Math.abs(以下同),返回一个数字的绝对值。
(2)acos函数:返回一个数字的反余弦值,结果为0~π弧度(radians)。
(3)asin函数:返回一个数字的反正弦值,结果为-π/2~π/2弧度。
(4)atan函数:返回一个数字的反正切值,结果为-π/2~π/2弧度。
(5)atan2函数:返回一个坐标的极坐标角度值。
(6)ceil函数:返回一个数字的最小整数值(大于或等于)。
(7)cos函数:返回一个数字的余弦值,结果为-1~1。
(8)exp函数:返回e(自然对数)的乘方值。
(9)floor函数:返回一个数字的最大整数值(小于或等于)。
(10)log函数:自然对数函数,返回一个数字的自然对数(e)值。
(11)max函数:返回两个数的最大值。
(12)min函数:返回两个数的最小值。
(13)pow函数:返回一个数字的乘方值。
(14)random函数:返回一个0~1的随机数值。
(15)round函数:返回一个数字的四舍五入值,类型是整数。
(16)sin函数:返回一个数字的正弦值,结果为-1~1。
(17)sqrt函数:返回一个数字的平方根值。
(18)tan函数:返回一个数字的正切值。
第五类:字符串函数
包括以下20个函数:
(1)anchor函数:产生一个链接点(anchor)以作超级链接用。anchor函数设定<A NAME...>的链接点的名称,另一个函数link设定<A HREF=...>的URL地址。
(2)big函数:将字体加到一号,与<BIG>...</BIG>标签结果相同。
(3)blink函数:使字符串闪烁,与<BLINK>...</BLINK>标签结果相同。
(4)bold函数:使字体加粗,与<B>...</B>标签结果相同。
(5)charAt函数:返回字符串中指定的某个字符。
(6)fixed函数:将字体设定为固定宽度字体,与<TT>...</TT>标签结果相同。
(7)fontcolor函数:设定字体颜色,与<FONT COLOR=color>标签结果相同。
(8)fontsize函数:设定字体大小,与<FONT SIZE=n>标签结果相同。
(9)indexOf函数:返回字符串中第一个查找到的下标index,从左边开始查找。
(10)italics函数:使字体成为斜体字,与<I>...</I>标签结果相同。
(11)lastIndexOf函数:返回字符串中第一个查找到的下标index,从右边开始查找。
(12)length函数:返回字符串的长度。(不用带括号)
(13)link函数:产生一个超级链接,相当于设定<A HREF=...>的URL地址。
(14)small函数:将字体减小一号,与<SMALL>...</SMALL>标签结果相同。
(15)strike函数:在文本的中间加一条横线,与<STRIKE>...</STRIKE>标签结果相同。
(16)sub函数:显示字符串为下标字(subscript)。
(17)substring函数:返回字符串中指定的几个字符。
(18)sup函数:显示字符串为上标字(superscript)。
(19)toLowerCase函数:将字符串转换为小写。
(20)toUpperCase函数:将字符串转换为大写。