Javascript 识别变量并转换为int

Javascript 识别变量并转换为int,javascript,casting,floating-point,integer,Javascript,Casting,Floating Point,Integer,我在JavaScript中遇到了一个变量问题,我希望它是int。 起初,它看起来像一个int,然后我做了一些诊断,发现它不是。 最后,我想将其转换为int 这是我使用的代码: console.log(variable); var isInt = variable % 1 === 0; console.log('The variable is int?'); console.log(isInt); var isFloat = +variable && variable !== (v

我在JavaScript中遇到了一个变量问题,我希望它是
int
。 起初,它看起来像一个
int
,然后我做了一些诊断,发现它不是。 最后,我想将其转换为
int

这是我使用的代码:

console.log(variable);
var isInt = variable % 1 === 0;
console.log('The variable is int?');
console.log(isInt);
var isFloat = +variable && variable !== (variable|0);
console.log('The variable is float?');
console.log(isFloat);
结果如下:

2,365
The variable is int?
false
The variable is float?
NaN
检查变量是否为
float
的行是从这个问题中得到的: 这是第二个答案

NaN
表示我的变量可能是
字符串

编辑: 我的问题与作为解决方案提供的问题不同,因为我不确定我的变量是float还是integer,因此我首先尝试识别它。 我从那个问题的答案中挑选了一些部分,但它不起作用。

在第一行,请尝试

console.log(typeof variable)
这将告诉您变量的类型是否为string,这可能导致上次检查中出现NaN

注意:
parseInt()

如果您得到的“数字”(字符串)以
作为十进制符号,并且希望通过舍入将其转换为整数,则可以使用以下方法:

函数toInt(x){
如果(!isNaN(x))返回数学舍入(x);
如果(typeof x==“string”)x=x.replace(“,”,”);
返回Math.round(parseFloat(x));
}
控制台日志(toInt(5));
控制台日志(toInt(5.5));
控制台日志(toInt(“5”);
控制台日志(toInt(“5.5”);

控制台日志(toInt(“5,5”)你知道那个号码。isInteger存在对吗?@ErtanKara是的。链接的问题不仅有这样一个答案,而且还提供了polyfill,因此即使环境还不支持它,也可以实现它。您只需记录typeof变量以检查类型
2365
的可能副本是一个字符串
2.365
可以是float或string。它不会告诉您它是float还是int,它只会告诉您它是数字还是其他类型。在这种情况下,它会告诉您它到底是字符串还是字符串,谢谢您指出。。更新了答案谢谢!这有助于我将其识别为字符串!要进行替换,必须确保逗号是分数分隔符。在某些区域性中,它们可以分隔数千个,因此
“1000000”
表示一百万个,而不仅仅是函数返回的一个。Hmmm。。。我试过你的短版本,但没用。运行命令后,输入console.log(typeof变量);我得到了“function”,然后尝试了这个:“variable=parseInt(variable);”。成功了!是的,您需要使用返回值。等等,什么,
parseInt
?我的工作很好:(我的值是四舍五入的,parseInt截断小数!)我会做进一步的测试,稍后我会在这里发布结果。谢谢