40 lines
1002 B
JavaScript
40 lines
1002 B
JavaScript
export function formatNumber(num) {
|
|
if (num === undefined || num === null) return
|
|
if (num >= 1e9) {
|
|
return (num / 1e9).toFixed(1) + 'B'; // 十亿
|
|
} else if (num >= 1e6) {
|
|
return (num / 1e6).toFixed(1) + 'M'; // 百万
|
|
} else if (num >= 1e3) {
|
|
return (num / 1e3).toFixed(1) + 'K'; // 千
|
|
} else {
|
|
return num.toString(); // 小于 1000 的数字原样返回
|
|
}
|
|
}
|
|
export function formatNumberWithCommas(num) {
|
|
if (num === undefined || num === null) return
|
|
return num.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
}
|
|
|
|
/**
|
|
* 下载
|
|
* @param url 下载地址
|
|
* @param name 下载名称
|
|
* @param msg 成功消息
|
|
*/
|
|
export const downloadFunc = (url, name) => {
|
|
const link = document.createElement('a')
|
|
link.href = url
|
|
link.download = name || 'download'
|
|
|
|
document.body.appendChild(link)
|
|
setTimeout(() => {
|
|
link.click()
|
|
|
|
if (url.startsWith('blob:')) {
|
|
URL.revokeObjectURL(url)
|
|
}
|
|
|
|
document.body.removeChild(link)
|
|
}, 50)
|
|
}
|