js里Math是數學對象,專門為處理數字而生。我們寫頁面時要用js產生一些隨機數,而Math.round()方法可把一個數字四舍五入為最接近的整數,這文章特意為js產生隨機數而寫。
js隨機數Math.round()的用法詳解
先看下js里Math數學對象,提供對數據的數學計算的知識:
1.Math.random(); 結果為0-1間的一個隨機數(包括0,不包括1)
2.Math.floor(num); 參數num為一個數值,函數結果為num的整數部分
3.Math.round(num); 參數num為一個數值,函數結果為num四舍五入后的整數
4.Math.ceil(n); 返回大于等于n的最小整數。
5.Math.round(n); 返回n四舍五入后整數的值。
下面到了用法詳解,看幾個例子:
1.用js隨機產生0-1間的一個隨機數,代碼如下:
<script type="text/javascript">
var num01=Math.round(Math.random());
alert(num01);
</script>
2.用js隨機產生均衡獲取0到10的隨機整數,其中獲取最小值0和最大值10的幾率少一半,代碼如下:
<script type="text/javascript">
var num01=Math.round(Math.random()*10);
alert(num01);
</script>
3.用js隨機產生均衡獲取0到9的隨機整數,代碼如下:
<script type="text/javascript">
var num01=Math.floor(Math.random()*10);
alert(num01);
</script>
4.用js隨機產生獲取1到10的隨機整數,取0的幾率極小,代碼如下:
<script type="text/javascript">
var num01=Math.ceil(Math.random()*10);;
alert(num01);
</script>
以上用js產生隨機數舉了4個例子,全部都是產生整數,在實際工作中還可以變一變,靈活應用下,做前端3年多了,工作中有時會用到js隨機產生整數,比如模擬在線人數就會這個js隨機數,等等還有很多可以用它,慢慢探索吧!
除注明外的文章,均為來源:湯久生博客,轉載請保留本文地址!
原文地址:http://tangjiusheng.com/js/128.html
Math用于執行數學任務,提供了大量的數學運算的方法。
實現四舍五入
1、Math.round(number),整數四舍五入。
2、number.toFixed(2),number四舍五入保留2位小數。
四舍五入(ROUND_HALF_UP)
/**
*四舍五入==>decimalNumber,decimalBits(保留小數位)
*/
function ROUND_HALF_UP(decimalNumber,decimalBits){
return Math.round(decimalNumber*(Math.pow(10, decimalBits)))/(Math.pow(10, decimalBits));
}
強制進位(ROUND_UP)
/**
* 強制進位==>decimalNumber,decimalBits(保留小數位)
*/
function ROUND_UP(decimalNumber,decimalBits){
return Math.ceil(decimalNumber*(Math.pow(10, decimalBits)))/(Math.pow(10, decimalBits));
}
參考:BigDecimal,ROUND_UP的進位制,商品單位的價格換算工具
間戳的定義
Unix時間戳(Unix timestamp),或稱Unix時間(Unix time)、POSIX時間(POSIX time),是一種時間表示方式,定義為從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數。Unix時間戳不僅被使用在Unix系統、類Unix系統中,也在許多其他操作系統中被廣泛采用。多數Unix系統將時間戳以一個32位整型進行保存,這可能會在2038年1月19日產生一些問題(Y2038問題)。
如何在不同編程語言中 獲取現在的Unix時間戳(Unix timestamp)?
Java | currentTimeMillis() |
JavaScript | Math.round(new Date().getTime()/1000)getTime()返回數值的單位是毫秒 |
Microsoft .NET / C# | epoch = (DateTime.Now.ToUniversalTime().Ticks – 621355968000000000) / 10000000 |
MySQL | SELECT unix_timestamp(now()) |
Perl | time |
PHP | time() |
PostgreSQL | SELECT extract(epoch FROM now()) |
Python | 先 import time 然后 time.time() |
Ruby | 獲取Unix時間戳:Time.now 或 Time.new顯示Unix時間戳:Time.now.to_i |
SQL Server | SELECT DATEDIFF(s, ‘1970-01-01 00:00:00’, GETUTCDATE()) |
Unix / Linux | date +%s |
VBScript / ASP | DateDiff(“s”, “01/01/1970 00:00:00”, Now()) |
其他操作系統(如果Perl被安裝在系統中) | 命令行狀態:perl -e “print time” |
如何在不同編程語言中 實現Unix時間戳(Unix timestamp) → 普通時間?
Java | String date = new java.text.SimpleDateFormat(“dd/MM/yyyy HH:mm:ss”).format(new java.util.Date(Unix timestamp * 1000)) |
JavaScript | 先 var unixTimestamp = new Date(Unix timestamp * 1000) 然后 commonTime = unixTimestamp.toLocaleString() |
Linux | date -d @Unix timestamp |
MySQL | from_unixtime(Unix timestamp) |
Perl | 先 my $time = Unix timestamp 然后 my ($sec, $min, $hour, $day, $month, $year) = (localtime($time))[0,1,2,3,4,5,6] |
PHP | date(‘r’, Unix timestamp) |
PostgreSQL | SELECT TIMESTAMP WITH TIME ZONE ‘epoch’ + Unix timestamp) * INTERVAL ‘1 second’; |
Python | 先 import time 然后 time.gmtime(Unix timestamp) |
Ruby | Time.at(Unix timestamp) |
SQL Server | DATEADD(s, Unix timestamp, ‘1970-01-01 00:00:00’) |
VBScript / ASP | DateAdd(“s”, Unix timestamp, “01/01/1970 00:00:00”) |
其他操作系統(如果Perl被安裝在系統中) | 命令行狀態:perl -e “print scalar(localtime(Unix timestamp))” |
如何在不同編程語言中 實現普通時間 → Unix時間戳(Unix timestamp)?
Java | long epoch = new java.text.SimpleDateFormat(“dd/MM/yyyy HH:mm:ss“).parse(“01/01/1970 01:00:00”); |
JavaScript | var commonTime = new Date(Date.UTC(year, month – 1, day, hour, minute, second)) |
MySQL | SELECT unix_timestamp(time)時間格式: YYYY-MM-DD HH:MM:SS 或 YYMMDD 或 YYYYMMDD |
Perl | 先 use Time::Local 然后 my $time = timelocal($sec, $min, $hour, $day, $month, $year); |
PHP | mktime(hour, minute, second, month, day, year) |
PostgreSQL | SELECT extract(epoch FROM date(‘YYYY-MM-DD HH:MM:SS‘)); |
Python | 先 import time 然后 int(time.mktime(time.strptime(‘YYYY-MM-DD HH:MM:SS‘, ‘%Y-%m-%d %H:%M:%S’))) |
Ruby | Time.local(year, month, day, hour, minute, second) |
SQL Server | SELECT DATEDIFF(s, ‘1970-01-01 00:00:00’, time) |
Unix / Linux | date +%s -d”Jan 1, 1970 00:00:01″ |
VBScript / ASP | DateDiff(“s”, “01/01/1970 00:00:00”, time) |
代碼簽名證書是保護開發者的勞動成果,給自己開發的軟件簽名的證書,保證代碼在簽名之后不被惡意篡改。用戶可通過對代碼的數字簽名來標識軟件來源,辨別軟件開發者的真實身份。GDCA的代碼簽名證書支持多種代碼簽名,已通過WEBTRUST國際認證。
文章來源https://www.trustauth.cn/wiki/20178.html
*請認真填寫需求信息,我們會在24小時內與您取得聯系。