1

我们只需要格式化数字k(千)而不是 m(百万)或 b(十亿),而numericjs目前正在转换所有格式

var number = 2000000; 
console.log(numeral(number).format('0a'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/numeral.js/2.0.6/numeral.min.js"></script>

预期结果 id 2000K 谢谢

4

1 回答 1

1

我对 numericjs 并不熟悉,但我认为您可能必须创建自定义格式

演示-codepen

自定义格式

numeral.register('format', 'thousands', {
regexps: {
    format: /(k)/,
    unformat: /(k)/
},
format: function(value, format, roundingFunction) {
    var space = numeral._.includes(format, ' k') ? ' ' : '',
        output;

    value = value*.001;

    format = format.replace(/\s?\k/, '');

    output = numeral._.numberToFormat(value, format, roundingFunction);

    if (numeral._.includes(output, ')')) {
        output = output.split('');

        output.splice(-1, 0, space + 'k');

        output = output.join('');
    } else {
        output = output + space + 'k';
    }

    return output;
}
});

使用格式

var number = 2000000; 
console.log(numeral(number).format('0k'));
于 2017-07-18T15:08:05.010 回答