Fibonacci序列 - 查找位数 - JavaScript

Nic*_*zel 5 javascript scientific-notation fibonacci notation

所以,我已经成功地编写了Fibonacci序列来创建一个array带有数字序列的序列,但我需要知道该数字的长度(多少位数)500th.

我已经尝试了下面的代码,但它找到了科学记数法的长度(22位数),而不是应该返回的正确的105.

有关如何将科学记数法转换为实际整数的任何想法?

var fiblength = function fiblength(nth) {
    var temparr = [0,1];
    for(var i = 2; i<=nth; i++){
        var prev = temparr[temparr.length-2],
            cur = temparr[temparr.length-1],
            next = prev + cur;
            temparr.push(next);
    }
    var final = temparr[temparr.length-1].toString().length;
    console.log(temparr[temparr.length-1]);
    return final;
};
a = fiblength(500);
console.log(a);
Run Code Online (Sandbox Code Playgroud)

meg*_*wac 8

为什么不使用将数字除以10的简单过程,直到数字小于1.

像这样简单的东西应该工作(递归def obv也可以)

function getDigits(n) {
   var digits = 0;
   while(n >= 1) {
      n/=10;
      digits += 1;
   }
   return digits;
}

getDigits(200);//3
getDigits(3.2 * 10e20);//=>22
Run Code Online (Sandbox Code Playgroud)