SOURCE

function CurrencyValueFormat(val, signIndex = 0) {
    var _signList = ["", "K", "M", "B", "T", "AA", "BB", "CC", "dd", "ee", "ff", "gg", "hh", "ii"]
    if (!val || typeof val != "number")
        return "0"
    let formatVal;
    if (val < 1000) {
        signIndex = Math.min(signIndex, _signList.length - 1)
        console.log(signIndex)
        if (signIndex == 0)//不足1000,不可以显示小数
            val = Math.floor(val)

        val = val.toPrecision(3)
        // console.log(val)
        if (typeof val != "string")
            val = val.toString()
        val = val.substr(0, 5)
        let dotIndex = val.indexOf('.')
        if (dotIndex != -1) {
            let zeroCount = 0
            for (let i = val.length - 1; i > dotIndex; i--) {
                if (val[i] != "0")
                    break;
                zeroCount++
            }
            zeroCount = val.length - zeroCount - 1 == dotIndex ? zeroCount + 1 : zeroCount
            val = val.substr(0, val.length - zeroCount)
        }
        if (val.length>3) {
            val = val.substring(0,4);
        }
        formatVal = val + _signList[signIndex]
    }
    else {
        formatVal = CurrencyValueFormat(Math.floor(val) / 1000, ++signIndex)
    }
    return formatVal
}

var n1 = Number(1)
var n2 = Number(1231)
var n3 = Number(1231231)

// console.log(CurrencyValueFormat(n2))
console.log(CurrencyValueFormat(n2,3))
console.log(CurrencyValueFormat(n2,3))
console.log(CurrencyValueFormat(n2,3))

console.log(CurrencyValueFormat(1231231))
console.log(CurrencyValueFormat(1231,3))
console.log(CurrencyValueFormat(1))
console 命令行工具 X clear

                    
>
console