我有几个号码要处理,让我们假设我的号码是:
14000、32100、510、2100和10000
那么,如何在javascript中将数字识别为数千或数百?
有什么功能吗?
最佳答案
使用对数。以 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) 结果;
关于javascript - 如何识别整数值是千、百或十?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26669184/