<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <script> const formatBigNumber = (number, decimalPlaces = 2) => { debugger if (typeof number !== 'number' && typeof number !== 'string') { return console.warn(`Input must be a number or a string representation of a number. but get ${typeof number}`) } number = parseFloat(number) if (Math.abs(number) < 10000) { return { count: number.toFixed(decimalPlaces), unit: '' } } const units = ['', '万', '亿'] const unitIndex = Math.floor((parseInt(number).toString().length - 1) / 4) const unit = units[Math.min(unitIndex, 2)] let result if (unitIndex > 0) { result = (number / Math.pow(10, unitIndex * 4)).toFixed(decimalPlaces) } else { result = number.toFixed(decimalPlaces) } return { count: result, unit } } formatBigNumber(3323805.27) </script> </body> </html>