Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/405.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 选择正整数,但不选择分数_Javascript - Fatal编程技术网

Javascript 选择正整数,但不选择分数

Javascript 选择正整数,但不选择分数,javascript,Javascript,我正在研究代码战的基础知识,我试图把从1到给定数字n的所有整数相加 我必须验证n是一个有效的正整数。如果不是,我必须返回false 比如说 f(n=100)//返回5050 到目前为止,我的解决方案是有效的,但只有当n不是分数时。如何防止程序计算分数 function f(n) { var total = 0, count = 1; while (count <= n) { total += count; count += 1; } if (typeof n === 'numb

我正在研究代码战的基础知识,我试图把从1到给定数字n的所有整数相加

我必须验证n是一个有效的正整数。如果不是,我必须返回false

比如说 f(n=100)//返回5050

到目前为止,我的解决方案是有效的,但只有当n不是分数时。如何防止程序计算分数

function f(n)
{
var total = 0, count = 1;
while (count <= n) {
  total += count;
  count += 1;
}


if (typeof n === 'number')
{
return total;
}
else{
return false;
}
};
函数f(n)
{
var total=0,count=1;

而(count有两种方法可以做到这一点

检查取整参数的相等性
~
运算符将截断小数点后的所有内容

检查数字除以1的其余部分 如果这个数字是整数,那么在除以1之后,它应该不会给你任何休息

将数字转换为字符串
将空字符串添加到数字后,它将转换为字符串。

有两种方法可以实现这一点

检查取整参数的相等性
~
运算符将截断小数点后的所有内容

检查数字除以1的其余部分 如果这个数字是整数,那么在除以1之后,它应该不会给你任何休息

将数字转换为字符串
将空字符串添加到数字后,它将转换为字符串。

当取1时,分数将返回非零值。使用该值,您的函数可以修改为:

function f(n){
    if(typeof n != "number" || n <0 || n%1 !=0){
        return false;
    }
    // rest of your code
    var total = 0, count = 1;
    while (count <= n) {
        total += count;
        count += 1;
    }
    return total;
}
函数f(n){

如果(typeof n!=“number”| | n当取
mod
1时,分数将返回非零值。使用该值,您的函数可以修改为:

function f(n){
    if(typeof n != "number" || n <0 || n%1 !=0){
        return false;
    }
    // rest of your code
    var total = 0, count = 1;
    while (count <= n) {
        total += count;
        count += 1;
    }
    return total;
}
函数f(n){

如果(typeof n!=“number”| | n只需将数字作为原始值和整数返回比较:

function isPositiveInt(n) {return n >= 0 && n === (n|0)}

只需将数字的比较返回为原始值和整数:

function isPositiveInt(n) {return n >= 0 && n === (n|0)}
这是答案

  function f(n)
{
if(typeof n == "number" && Math.abs(n) ==n && Math.floor(n) == n)
return (1 + n)*(n/2);
else return 0;
}

获得1..N个数字汇总的数学公式

请毫不犹豫地问我任何问题

祝你好运!

以下是答案

  function f(n)
{
if(typeof n == "number" && Math.abs(n) ==n && Math.floor(n) == n)
return (1 + n)*(n/2);
else return 0;
}

获得1..N个数字汇总的数学公式

请毫不犹豫地问我任何问题


祝你好运!

检查分数:
yourNumber%1!==0
因此它将是:
返回类型n==“number”&&n>=0&&n%1==0?总计:false
检查分数:
yourNumber%1!==0
因此它将是:
返回类型n==“number”&&n>=0&&n%1==0?总计:false