Web前端之路让前端飞饥人谷技术博客

JS数值

2017-08-25  本文已影响17人  YM雨蒙

数值

在数值中除了加减乘除求余外,还有一些四舍五入,绝对值等在Js中是怎样运算的呢?我们来看一下

先看一个问题?

如何获取一个大于等于0且小于等于9的随机整数?

Math.floor(Math.random()*10)

下面是一些数学数值方法

绝对值

Math.abs(5)   // 5
Math.abs(-5)  // 5

四舍五入

Math.round(1.1)   // 1
Math.round(1.9)   // 2

向上取整

Math.ceil(1.1)   // 2
Math.ceil(1.9)   // 2

向下取整

Math.floor(1.1)   // 1
Math.floor(1.9)   // 1

获取最大的值

Math.max(1,2)      // 2
Math.max(-1,-2,-3) // -1

获取最小的值

Math.min(1,2)      // 1
Math.min(-1,-2,-3) // -3

随机数

Math.random()  // 大于等于0且小于1的随机数

其他的

求值方法

下面看几个实际应用,我们应该怎么用JS解决

用户输入小数点怎么处理

parseInt(string,radit)

parseInt('1.1')    // 1  字符串转换为数值
parseInt('1.9')    // 1
parseInt('1b2.4')  // 1   非数字后面会忽略
parseInt('www')    // NaN  不能识别
如何保留小数点

从上图我们可以看出,如果继续使用parseInt(string)肯定是不行的,它会舍去小数点,那我们应该用什么呢?

parseFloat(string)

parseFloat('100.1')  // 100.1
parseFloat('12.4b5') // 12.4
parseFloat('www')    // NaN

对于上面的需求,我们会有一些疑惑,像12.4b5这样的数值,肯定是用户输入错误,那我们怎么样识别出来它不是数值呢?

Number(value)

Number('100.1')    // 100.1 转换为数值
Number('12.4b5')   // NaN 一个不能识别,就不能识别了
Number('www')      // NaN
区别 保留两位小数点

上面我们只需要两个小数点就可以了,该怎么做呢?

num.toFixed(digits)

(100.123).toFixed(2)   //  "100.12"
(100.123).toFixed(0)   //  "100"
上一篇下一篇

猜你喜欢

热点阅读