| 1234567891011121314151617181920212223242526272829303132 |
- // 金额格式化成K格式
- export const formatNumberToK = (param) => {
- // 1. 异常处理:空值(null/undefined)直接返回空字符串
- if (param === null || param === undefined) {
- return '';
- }
- // 2. 统一预处理:无论参数是数字/字符串,都转为字符串并去除首尾空格
- let numStr = String(param).trim();
-
- // 3. 空字符串情况直接返回
- if (numStr === '') {
- return '';
- }
- // 4. 将处理后的字符串转为数字
- const num = Number(numStr);
-
- // 5. 非有效数字的情况,返回原始参数的字符串形式(保持输入原貌)
- if (isNaN(num)) {
- return String(param);
- }
- // 6. 小于1000的数字,返回整数形式的字符串(无小数)
- if (num < 1000) {
- return String(Math.floor(num));
- }
- // 7. 大于等于1000的数字,除以1000取整后拼接K
- const kNum = Math.floor(num / 1000);
- return `${kNum}K`;
- };
|