如何识别整数值是数千,数百还是数十?

时间:2014-10-31 07:06:18

标签: javascript function integer

我有几个数字要继续,让我们假设我的数字是:
14000,32100,510,2100和10000
那么,如何在javascript中将数字识别为数千或数百? 这有什么功能吗?

6 个答案:

答案 0 :(得分:4)

使用对数。基数10日志(如果可用),或通过ln(n)/ ln(10)从自然日志(ln)创建基数10日志。像这样:

var log10=function(n){return Math.log(n)/Math.log(10);};
log10(100);    //2
log10(10000);  //4
log10(1000000);//6, uh actually 5.999999999999999

由于缺乏精确度,可能需要对结果进行舍入。圆形版本:

function log10(n){
  return Math.round(100*Math.log(n)/Math.log(10))/100;
}
[10,100,1000,10000,100000,1000000].map(log10);

/*
1,2,3,4,5,6
*/

如果性能有问题,你应该缓存Math.log(10)结果;

答案 1 :(得分:1)

我不知道是否有内置函数,对不起,但如果你只有整数,你可以编写自己的函数:

function numberDigits(number) {
    return number.toString().length
}

现在,如果这个数字是数千或数百等,你很容易就会自杀......

请注意,适用于整数值!

答案 2 :(得分:1)

我不知道你的标记是怎样的:

但对于下面给出的标记:

<div class="save-sale" style="font-size: .8em; padding-top: 4em">10000</div>

您可以使用以下内容:

$(function () {
$(".save-sale").click(function (i) {
   var a = $.trim($(".save-sale").text()).length;
    alert(a);
});
});

FIDDLE

答案 3 :(得分:1)

试试这个:

var number = 5300;

function NumberName(number)
{
    switch (number.toString().length)
    {
    case 3:
         return "hundreds";
    case 4:
        return "thousands";
    }
}

答案 4 :(得分:0)

在JavaScript中,没有方法可以识别数字是数百还是数千,但您可以创建自己的数字 例如:

function check(num){
         if(num>999) { return 'thousands'; }
         if(num>99) {  return 'hundreds'; }
}

答案 5 :(得分:0)

int x = Math.floor(Math.log10(number)) + 1;

返回数字的总位数(对于100返回3,对于1000返回4)