Javascript 浮点到字符串转换-JS

Javascript 浮点到字符串转换-JS,javascript,algorithm,floating-point,type-conversion,numbers,Javascript,Algorithm,Floating Point,Type Conversion,Numbers,所以我现在正在研究这个函数 const countSixes = n => { if (n === 0) return 0; else if (n === 1) return 1; else n = (countSixes(n-1) + countSixes(n-2)) / 2; return n; } 所以我的问题是如何将最终的浮点值转换成字符串 每次调用函数并尝试转换浮点数后,它都返回NaN 我试过的 “”+值 字符串(值) value.toString() 值。

所以我现在正在研究这个函数

const countSixes = n => {
  if (n === 0) return 0;
  else if (n === 1) return 1;
  else n = (countSixes(n-1) + countSixes(n-2)) / 2;

  return n;
}
所以我的问题是如何将最终的浮点值转换成字符串

每次调用函数并尝试转换浮点数后,它都返回NaN


我试过的
  • “”+值
  • 字符串(值)
  • value.toString()
  • 值。toFixed(2)

  • 希望得到答案


    谢谢大家!

    第一个选项对我很有用

    
    常数countSixes=n=>{
    如果(n==0)返回0;
    如果(n==1),则返回1;
    else n=(countSixes(n-1)+countSixes(n-2))/2;
    返回n;
    }
    警报(六(12)+“”)
    
    第一个选项对我很有用

    
    常数countSixes=n=>{
    如果(n==0)返回0;
    如果(n==1),则返回1;
    else n=(countSixes(n-1)+countSixes(n-2))/2;
    返回n;
    }
    警报(六(12)+“”)
    
    您可以将最终值转换为包含所需小数的字符串

    const countSixes=n=>{
    如果(n==0)返回0;
    如果(n==1)返回1;
    返回(countSixes(n-1)+countSixes(n-2))/2;
    }
    
    console.log(countSixes(30.toFixed(15))您可以将最终值转换为包含所需小数的字符串

    const countSixes=n=>{
    如果(n==0)返回0;
    如果(n==1)返回1;
    返回(countSixes(n-1)+countSixes(n-2))/2;
    }
    
    console.log(countSixes(30.toFixed(15))这个问题真的很有趣。它的
    返回
    NaN
    ,因为当您将
    n
    作为
    字符串
    返回时,
    函数
    被递归调用,因此它不能在下一级执行算术运算。
    对于某些数字,如
    55

    function countSixes(n,firstTime=true){
            if (n === 0) return 0;
            else if (n === 1) return 1;
            else n = (countSixes(n-1,false) + countSixes(n-2,false)) / 2;
            if(firstTime) return n.toFixed(10);    // return string
            else return parseFloat(n.toFixed(10));      // return float
        }
    

    这个问题真的很有趣。它的
    返回
    NaN
    ,因为当您将
    n
    作为
    字符串
    返回时,
    函数
    被递归调用,因此它不能在下一级执行算术运算。
    对于某些数字,如
    55

    function countSixes(n,firstTime=true){
            if (n === 0) return 0;
            else if (n === 1) return 1;
            else n = (countSixes(n-1,false) + countSixes(n-2,false)) / 2;
            if(firstTime) return n.toFixed(10);    // return string
            else return parseFloat(n.toFixed(10));      // return float
        }
    

    你期望什么价值?请添加一个示例。我完全按照发布的方式复制了您的函数,在chrome控制台中运行了它,并在调用结束时添加了一个toString(),得到了一个字符串输出,您使用什么值调用此函数?每个值都应该可以工作,你能给出一个更大的例子来解释你想要什么,以及会发生什么吗?问题是你是以递归的方式使用它,所以你可能是在函数调用中使用它,所以你是在减去字符串?很难说,因为您没有显示如何将其转换为字符串。您希望得到什么值?请添加一个示例。我完全按照发布的方式复制了您的函数,在chrome控制台中运行了它,并在调用结束时添加了一个toString(),得到了一个字符串输出,您使用什么值调用此函数?每个值都应该可以工作,你能给出一个更大的例子来解释你想要什么,以及会发生什么吗?问题是你是以递归的方式使用它,所以你可能是在函数调用中使用它,所以你是在减去字符串?很难说,因为您没有显示如何将其转换为字符串。我将
    countSixes()
    定义为条目,将
    countsixehelp()
    定义为递归部分。我也会这样做,但我在《快报》中发布了这篇文章。我将
    countSixes()
    定义为条目和
    countsixehelp()
    作为递归部分。我也会这样做,但我很匆忙地发布了这篇文章