javascript中對資料文字格式化的思考

2021-09-07 09:47:24 字數 1614 閱讀 4240

在一些要求精度沒有那麼準確的場景下,我們可以直接通過number.prototype.tofixed()來實現保留小數點兩位這樣的需求。

var num = 123.45678

console.log(num.tofixed(2)) var num2 = 12 console.log(num2.tofixed(2))

不過如果恰好,數字是乙個整數,那麼就會輸出12.00這樣的格式,我們常常對於後面為00的整數要求直接輸出整數即可。因此不妨這樣寫。

var num = 123.45678

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

tofixed()後面直接接著replace()將整數才會出現的.00字串替換掉即可。

ps:number.prototype.tofixed返回的是乙個字串

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

以前在用date物件去獲取到相關的時間資料的時候去判斷是否小於10,如果是就補0

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

後來覺得實在不夠優雅,而且**繁多,就想到用字串替換的方式。

var date = new date() var min = string(date.getminutes()).replace(/^(\d)$/, '0$1') console.log(min) //08

這樣利用正則去匹配到單數字的情況下直接在前面加上0即可,一行**,更加優雅。

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

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

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

functionformatdate(source,format ='yyyy-mm-dd') \b/g, '0$&'); }

SQL中對資料擷取替換

replace 要修改欄位名,被替換的特定字元 替換的字元 表結構和插入資料 create database test gouse test gocreate table testtable username varchar 50 userpwd varchar 50 goinsert into t...

中求對數 Python中求對數方法總結

python中math庫和python庫都具備求對數的函式。import numpy as np import math12 1.numpy庫 1.1 求以e 2 10為底的對數 函式 功能 np.log x 以e為底的對數 自然對數 np.log10 x 以10為底的對數 np.log2 x 以2...

Oracle中對資料行數的操作

有如下資料庫定義 資料庫名稱 td order liu列名 訂貨號,商品名,顯示號碼 其中顯示號碼並不是連續的 1,2,3 n 也就是說並非直接代表了那一行的位置。現在,要實現如下兩個功能 1,資料按照 顯示號碼 排序後,選取第 n行資料 sql select from select 訂貨號,商品名...