数值
- 100 整型
- 3.14 浮点型
- 3.14e7 科学计数法
- 0xfa1b 16进制
在数值中除了
加减乘除求余
外,还有一些四舍五入,绝对值
等在Js中是怎样运算的呢?我们来看一下
先看一个问题?
如何获取一个大于等于0且小于等于9的随机整数?
Math.floor(Math.random()*10)
下面是一些数学数值方法
绝对值
Math.abs(x)
Math.abs(5) // 5
Math.abs(-5) // 5
四舍五入
Math.round(x)
Math.round(1.1) // 1
Math.round(1.9) // 2
向上取整
Math.ceil(x)
Math.ceil(1.1) // 2
Math.ceil(1.9) // 2
向下取整
Math.floor(x)
Math.floor(1.1) // 1
Math.floor(1.9) // 1
获取最大的值
Math.max([value1[,value2[,...]]])
Math.max(1,2) // 2
Math.max(-1,-2,-3) // -1
获取最小的值
Math.min([value1[,value2[,...]]])
Math.min(1,2) // 1
Math.min(-1,-2,-3) // -3
随机数
-
Math.random()
- 0=<随机数<1
Math.random() // 大于等于0且小于1的随机数
其他的
下面看几个实际应用,我们应该怎么用JS解决
parseInt(string,radit)
- 输入一个字符串
-
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)
-
digits
保留几位小数点?
(100.123).toFixed(2) // "100.12"
(100.123).toFixed(0) // "100"