通過(guò)JavaScript的Math.random()方法可以獲取0到1之間的任意隨機(jī)數(shù),那如何獲取任意給定的兩個(gè)數(shù)之間的隨機(jī)數(shù)呢?如獲取2和5之間的隨機(jī)數(shù),5和10之間的隨機(jī)數(shù)等。
由于Math.random()函數(shù)總是返回0到1之間的一個(gè)隨機(jī)數(shù),我們可以把0看成最小數(shù),把1看成最大數(shù)。假設(shè)最小數(shù)是max,最大數(shù)是min,通過(guò)下面的公式我們便可得出任意兩個(gè)數(shù)之間的隨機(jī)數(shù):
Math.random() * (max - min) + min
如果使用Math.floor()進(jìn)行向下舍入操作,則需要將max - min + 1,即:
Math.floor(Math.random() * (max - min) + min)
如果要指定小數(shù)位數(shù),可以使用Math.round()函數(shù)。如下面的公式返回任意兩個(gè)整數(shù)之間的隨機(jī)數(shù),結(jié)果保留1位小數(shù):
Math.round((Math.random() * (max - min) + min) * 10) / 10