溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

javascript中對數(shù)據(jù)格式化的示例分析

發(fā)布時間:2021-08-11 11:33:01 來源:億速云 閱讀:177 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細講解有關(guān)javascript中對數(shù)據(jù)格式化的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

保留小數(shù)點后面兩位

在一些要求精度沒有那么準確的場景下,我們可以直接通過Number.prototype.toFixed()來實現(xiàn)保留小數(shù)點兩位這樣的需求。

var num = 123.45678
console.log(num.toFixed(2)) //123.46

var num2 = 12
console.log(num2.toFixed(2)) //12.00

不過如果恰好,數(shù)字是一個整數(shù),那么就會輸出12.00這樣的格式,我們常常對于后面為00的整數(shù)要求直接輸出整數(shù)即可。因此不妨這樣寫。

var num = 123.45678
console.log(num.toFixed(2).replace('.00', '')) //123.46

var num2 = 12
console.log(num2.toFixed(2).replace('.00', '')) //12

toFixed()后面直接接著replace()將整數(shù)才會出現(xiàn)的.00字符串替換掉即可。

ps: Number.prototype.toFixed返回的是一個字符串

數(shù)字為[0-9]的情況下,前置補0

在輸出某些數(shù)字的時候下,如果是小于10的情況下需要在前面補0,尤其是在輸出日期時間的時候。

以前在用Date對象去獲取到相關(guān)的時間數(shù)據(jù)的時候去判斷是否小于10,如果是就補0。

var date = new Date()
var min = date.getMinutes()
min = min < 10 ? '0' + min : min
console.log(min) //08

后來覺得實在不夠優(yōu)雅,而且代碼繁多,就想到用字符串替換的方式。

var date = new Date()
var min = String(date.getMinutes()).replace(/^(\d{1})$/, '0$1')
console.log(min) //08

這樣利用正則去匹配到單數(shù)字的情況下直接在前面加上0即可,一行代碼,更加優(yōu)雅。

再繼續(xù)衍生下去,我基本上都是在日期格式化的時候需要做數(shù)字替換,何不直接整個字符串替換即可?比如將2017-1-8 12:8替換成2017-01-08 12:08。

var date = '2017-1-8 12:8'.replace(/\b\d{1}\b/g, '0$&')
console.log(date)

通過正則去做整個字符串替換,不再針對性的針對某些部分做處理了。 最后給出完整的格式化日期函數(shù)示例。

function formatDate (source, format) {
 var date = new Date();
 format = format || 'yyyy-MM-dd hh:mm';
 if (typeof source == 'string') format = source;
 if (typeof source == 'number') date = new Date(source);
 
 let year = date.getFullYear();
 let month = date.getMonth() + 1;
 let day = date.getDate();
 let hour = date.getHours();
 let miniute = date.getMinutes();
 let second = date.getSeconds();
 return format.replace('yyyy', year)
  .replace('MM', month)
  .replace('dd', day)
  .replace('hh', hour)
  .replace('mm', miniute)
  .replace('ss', second)
  .replace(/\b\d{1}\b/g, '0$&');
 return date;
}

關(guān)于“javascript中對數(shù)據(jù)格式化的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI