js 格式化金額方法

2021-09-24 17:21:36 字數 852 閱讀 2915

//* 金額千分位加逗號,保留2位小數,不足補零,否則四捨五入

// * 引數說明:

// * num:要格式化的數字 string或者number

// * decimals:保留幾位小數

// * dec_point:小數點符號

// * thousandssep:千分位符號

// return 金額格式的字串,如'1,234,567.45'

// * */

number (num, decimals, thousandssep)

let prec = !isfinite(+decimals) ? 0 : math.abs(decimals) // 保留的位數一定是有限位數的正整數

let sep = (typeof thousandssep === 'undefined') ? ',' : thousandssep

let s = num.tostring().replace(/,/g, '') // 字串,將,變成'';

let p = parsefloat(s) // 解析乙個字串,並返回乙個浮點數

let n = isnan(p) ? 1 : p

let formatnum = n.tofixed(prec).tostring().replace(/(\d)(?=(\d)+\.)/g, function ($0, $1) )

return num ? formatnum : ''

}// let num = number(333322.8199, 5,'')

// console.log(num,'nm')

方法中 判斷了是否是nan 和無窮大預設千分位加逗號分隔

金額格式化

正確的方式 decimalformat mf new decimalformat system.out.println mf.format 0.66 這樣可以處理小於1的金額。之前在網上看了很多金額的格式化方式,基本有兩種。1.全 模式,自己寫出分割邏輯,網上很多,這裡就不說明了。2.同樣是使用de...

js常用方法 格式化金額 比較時間物件

秒轉時分秒 param 秒 returns result,時 分 秒 function formatseconds value var result result.push thetime2 result.push thetime1 result.push thetime return result...

JS數字金額格式化(千位符)

數字格式化 param num 數字 param separator 分隔符號,可選引數,預設 英文逗號 function numberformat num,separator separator separator return num.replace b d d g,separator 處理無效...