這篇文章將為大家詳細(xì)講解有關(guān)javascript中對數(shù)據(jù)格式化的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
為西塞山等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及西塞山網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為做網(wǎng)站、網(wǎng)站建設(shè)、西塞山網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!保留小數(shù)點(diǎn)后面兩位
在一些要求精度沒有那么準(zhǔn)確的場景下,我們可以直接通過Number.prototype.toFixed()
來實(shí)現(xiàn)保留小數(shù)點(diǎn)兩位這樣的需求。
var num = 123.45678 console.log(num.toFixed(2)) //123.46 var num2 = 12 console.log(num2.toFixed(2)) //12.00
不過如果恰好,數(shù)字是一個(gè)整數(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
返回的是一個(gè)字符串
數(shù)字為[0-9]的情況下,前置補(bǔ)0
在輸出某些數(shù)字的時(shí)候下,如果是小于10的情況下需要在前面補(bǔ)0,尤其是在輸出日期時(shí)間的時(shí)候。
以前在用Date
對象去獲取到相關(guān)的時(shí)間數(shù)據(jù)的時(shí)候去判斷是否小于10,如果是就補(bǔ)0。
var date = new Date() var min = date.getMinutes() min = min < 10 ? '0' + min : min console.log(min) //08
后來覺得實(shí)在不夠優(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í)候需要做數(shù)字替換,何不直接整個(gè)字符串替換即可?比如將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)
通過正則去做整個(gè)字符串替換,不再針對性的針對某些部分做處理了。 最后給出完整的格式化日期函數(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)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。