金额三位隔逗号
基本使用
使用案例:
getnumberThree(789556.55662266) 输出 789,556.56
getnumberThree(789556) 输出 789,556
vue
<script setup lang="ts">
import { onMounted, onUnmounted } from 'vue'
import { getnumberThree } from 'vue-hkp-ui'
console.log(getnumberThree(789556.55662266)) //输出 789,556.55
console.log(getnumberThree(789556)) //输出 789,556
</script>内部方法
vue
<script setup lang="ts">
function getnumberThree(nums:(number | string),decimal = 2,split = ','){
let num=Number(nums)
if (isFinite(num)) { // num是数字
if (num === 0) { // 为0
return num.toFixed(decimal)
} else { // 非0
var res = ''
var dotIndex = String(num).indexOf('.')
if (dotIndex === -1) { // 整数
if (decimal === 0) {
res = String(num).replace(/(\d)(?=(?:\d{3})+$)/g, `$1${split}`)
} else {
res = String(num).replace(/(\d)(?=(?:\d{3})+$)/g, `$1${split}`) + '.' + '0'.repeat(decimal)
}
} else {
const numStr = String((Math.round(num * Math.pow(10, decimal)) / Math.pow(10, decimal)).toFixed(decimal)) // 四舍五入,然后固定保留2位小数
const decimals = numStr.slice(dotIndex, dotIndex + decimal + 1) // 截取小数位
res = String(numStr.slice(0, dotIndex)).replace(/(\d)(?=(?:\d{3})+$)/g, `$1${split}`) + decimals
}
return res
}
} else {
return '--'
}
}
</script>removearray Params
| 参数 | 说明 | 类型 | 默认值 | 必传 |
|---|---|---|---|---|
| nums | 当前金额 | array | - | true |
| decimal | 保留小数位数 | number | 2 | false |
| split | 三位一隔的符号 | string | ',' | false |
