字符串格式化:数字转成英文格式
Posted zhanglw456
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串格式化:数字转成英文格式相关的知识,希望对你有一定的参考价值。
1
function formatNumber1 (number) {
const base = 3
number = Number(number) // 只要包含字符 都会转为NaN
let numberStr = number.toString() // NaN => ‘NaN‘
if (numberStr === ‘NaN‘) {
return ‘0‘
}
const isFloat = numberStr.indexOf(‘.‘)>-1
const floatStr = isFloat ? numberStr.split(‘.‘)[1] : ‘‘
const intStr = numberStr.split(‘.‘)[0]
const len = intStr.length
if (len <= base) {
return numberStr
}
let str = ‘‘
const m = len % base
let t = Math.floor(len / base)
if (m === 0) {
t--
}
for (let i = 0; i<t; i++) {
str = "," + intStr.substring(len - (i + 1) * base, len - i * base) + str
}
str = intStr.substring(0, m ? m : base) + str
return isFloat ? str + ‘.‘ + floatStr : str
}
2
function formatNumber2 (number) {
const base = 3
number = Number(number) // 只要包含字符 都会转为NaN
let numberStr = number.toString() // NaN => ‘NaN‘
if (numberStr === ‘NaN‘) {
return ‘0‘
}
const isFloat = numberStr.indexOf(‘.‘)>-1
const floatStr = isFloat ? numberStr.split(‘.‘)[1] : ‘‘
const intStr = numberStr.split(‘.‘)[0]
const len = intStr.length
if (len <= base) {
return numberStr
}
let str = ‘‘
const m = len % base
let t = Math.floor(len / base)
let i = 0
if (m === 0) {
t--
for (i; i < t; i++) {
str += intStr.substring(m + i * base, m + (i + 1) * base) + ‘,‘
}
} else {
str = intStr.substring(0, m) + ‘,‘
i = 1
for (i; i < t; i++) {
str += intStr.substring(m + (i - 1) * base, m + i * base) + ‘,‘
}
}
str += intStr.substring(len - base)
return isFloat ? str + ‘.‘ + floatStr : str
}
3
function formatNumber3 (number) {
number = Number(number)
let numStr = number.toString()
if (numStr === ‘NaN‘) {
return ‘0‘
}
const floatStr = numStr.split(‘.‘)[1] ? numStr.split(‘.‘)[1] : ‘‘
numStr = numStr.split(‘.‘)[0].split(‘‘).reverse().join(‘‘)
const pattern = /([S]{3})/g
numStr = numStr.replace(/s/, ‘‘).replace(pattern, function (match) {
return match + ‘,‘
})
numStr = numStr.split(‘‘).reverse().join(‘‘)
if (numStr[0] === ‘,‘) {
numStr = numStr.substring(1)
}
// console.log(numStr);
return floatStr ? numStr + ‘.‘ + floatStr : numStr
}
以上是关于字符串格式化:数字转成英文格式的主要内容,如果未能解决你的问题,请参考以下文章
excel中日期格式是数字,想转成java的日期格式,遇到了问题
php页面传来三个int型的年,月,日,怎么将三个数字转成日期格式
javaScript 时间转换,将后台返回的时间为一串数字转成正常格式
有没有人知道格式化“缩写”数字的好 javascript 片段?