使用numeral.js格式化大数字

时间:2017-05-28 20:18:43

标签: format numeral.js

在我的应用程序中,我想使用库格式化各种数字,我有几个相关的问题(我不单独提交,因为我认为它们可能代表一组非常常见的问题)

  1. 使用格式字符串常量格式化数字以实现压缩文字,例如1.2k1.23M
  2. 使用格式字符串常量格式化数字以应用千位分隔符,无论客户端的语言环境设置如何。
  3. 我试图实现格式化结果,其中实际考虑了语言千分隔符

    http://jsfiddle.net/erbronni/19mLmekt/

    // load a language
    numeral.language('fr', {
        delimiters: {
            thousands: ' ',
            decimal: ','
        },
        abbreviations: {
            thousand: 'k',
            million: 'M',
            billion: '',
            trillion: 't'
        },
        ordinal : function (number) {
            return number === 1 ? 'er' : 'ème';
        },
        currency: {
            symbol: '€'
        }
    });
    numeral.language('fr');
    document.getElementById('f1').innerHTML = numeral(12345678).format('0 000') // intended output: '12 345 678' -- does not seem to work
    

1 个答案:

答案 0 :(得分:3)

Numeral.js内置了它。可以使用a .format('0.00a')轻松实现。

一些完整的例子:

numeral(1000000).format('0a')将返回1m

numeral(250500).format('0.0a')将返回250.5k

numeral(10500).format('0.00a')将返回10.50k