我有几个数字要继续,让我们假设我的数字是:
14000,32100,510,2100和10000
那么,如何在javascript中将数字识别为数千或数百?
这有什么功能吗?
答案 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);
});
});
答案 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)