在JavaScript中将本地化数字缩写为千(1k)和百万(1m)

在JavaScript中将本地化数字缩写为千(1k)和百万(1m),javascript,instagram,Javascript,Instagram,我正在使用以下Javascript在我的网站上显示我的Instagram粉丝数量 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script> /* Get access token & ID through http://jelled.com/instagram/access-token

我正在使用以下Javascript在我的网站上显示我的Instagram粉丝数量

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script>
    /* 
        Get access token & ID through http://jelled.com/instagram/access-token
        Register your app here @ Instagram http://instagram.com/developer 
        */
    $(function() {
        $.ajax({
            type: "GET",
            dataType: "jsonp",
            cache: true,
            url: "https://api.instagram.com/v1/users/{ID}/?access_token={ACCES_TOKEN}",
            success: function(data) {
                var ig_count = data.data.counts.followed_by.toString();
                ig_count = add_commas(ig_count);
                $(".instagram_count").html(ig_count);
            }
        });

        function add_commas(number) {
            if (number.length > 3) {
                var mod = number.length % 3;
                var output = (mod > 0 ? (number.substring(0, mod)) : '');
                for (i = 0; i < Math.floor(number.length / 3); i++) {
                    if ((mod == 0) && (i == 0)) {
                        output += number.substring(mod + 3 * i, mod + 3 * i + 3);
                    } else {
                        output += ',' + number.substring(mod + 3 * i, mod + 3 * i + 3);
                    }
                }
                return (output);
            } else {
                return number;
            }
        }
    });
</script>
<span class="instagram_count"> </span>

/* 
通过获取访问令牌和IDhttp://jelled.com/instagram/access-token
在Instagram上注册你的应用程序http://instagram.com/developer 
*/
$(函数(){
$.ajax({
键入:“获取”,
数据类型:“jsonp”,
是的,
url:“https://api.instagram.com/v1/users/{ID}/?访问\令牌={访问\令牌}“,
成功:功能(数据){
var ig_count=data.data.counts.后跟.toString();
ig_计数=添加逗号(ig_计数);
$(“.instagram_count”).html(ig_count);
}
});
函数添加逗号(数字){
如果(数字长度>3){
var mod=number.length%3;
变量输出=(mod>0?(数字。子字符串(0,mod)):“”);
对于(i=0;i
如您所见,有一个函数可以在必要时添加逗号。我还想在另一个类中将follower count缩写为3291followers显示为3.2k。因此,在一个类中保持完整的跟随者计数,在另一个类中保持缩写。我并不擅长JavaScript,但正在慢慢学习

我发现了一个类似的问题(),但没有成功地将其实现到我的JavaScript中

非常感谢您的帮助

function intlFormat(num)
{
  return new Intl.NumberFormat().format(Math.round(num*10)/10);
}
function makeFriendly(num)
{
  if(num >= 1000000)
    return intlFormat(num/1000000)+'M';
  if(num >= 1000)
    return intlFormat(num/1000)+'k';
  return intlFormat(num);
}
收益率:

makeFriendly(1234567)
"1.2M"
makeFriendly(123457)
"123.5k"
makeFriendly(1237)
"1.2k"
makeFriendly(127)
"127"
是实现国际化行为的Javascript标准“包”。因此,这段代码实际上尊重您本地配置的千位和十进制分隔符。

新的Intl.NumberFormat('en-GB',{表示法:“compact”,compactDisplay:“short”})。格式(9876)
输出
9.9K


信用证:

始终将详细的计数保存在内存中。使用
add_commas()
和类似命令仅用于将.3291追随者显示为3.2k。您是如何尝试使用您发现的其他问题中的代码的?请告诉我们您的尝试。但是后缀没有本地化。友好的数字是四舍五入的。28.551得到28.6。@glen-84后缀实际上是国际标准化的。