數值
- 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"