| .. | .. |
|---|
| 228 | 228 | Vue.mixin(pageLog); |
|---|
| 229 | 229 | import BigNumber from 'bignumber.js'; |
|---|
| 230 | 230 | Vue.prototype.toNumber = function(number) { |
|---|
| 231 | | - if (isNaN(number)) { |
|---|
| 232 | | - return number; |
|---|
| 233 | | - } else { |
|---|
| 234 | | - return BigNumber(number).toNumber(); |
|---|
| 231 | + // null / undefined / 空值 / 非数字统一返回 0,避免页面显示 null、undefined、NaN |
|---|
| 232 | + if (number === null || number === undefined || number === '' || isNaN(number)) { |
|---|
| 233 | + return 0; |
|---|
| 235 | 234 | } |
|---|
| 235 | + const result = BigNumber(number).toNumber(); |
|---|
| 236 | + return isNaN(result) ? 0 : result; |
|---|
| 236 | 237 | } |
|---|
| 237 | 238 | |
|---|
| 238 | 239 | Vue.prototype.toThousands = function(num) { |
|---|
| 239 | | - if (num < 1000) return num; |
|---|
| 240 | | - if (Number.isInteger(num)) { |
|---|
| 240 | + // null / undefined / 空值 / 非数字统一返回 0,避免页面显示 null、undefined、NaN |
|---|
| 241 | + if (num === null || num === undefined || num === '' || isNaN(num)) { |
|---|
| 242 | + return 0; |
|---|
| 243 | + } |
|---|
| 244 | + if (Number(num) < 1000) return num; |
|---|
| 245 | + if (Number.isInteger(Number(num))) { |
|---|
| 241 | 246 | return String(num).replace(/(?!^)(?=(\d{3})+$)/g, ',') |
|---|
| 242 | 247 | } else { |
|---|
| 243 | 248 | return String(num).replace(/(?!^)(?=(\d{3})+\.)/g, ',') |
|---|