在Javascript中添加为字符串的整数[重复]

Posted

技术标签:

【中文标题】在Javascript中添加为字符串的整数[重复]【英文标题】:Integers adding as strings in Javascript [duplicate] 【发布时间】:2013-12-28 07:40:38 【问题描述】:

我有两个文本字段 imageWidth 和 imageHeight...我想从它们那里获取输入,添加当前鼠标指针位置,然后做一些事情:

x = e.pageX - canvas.offsetLeft;
y = e.pageY - canvas.offsetTop;
var wWidth = document.getElementById('imageWidth').value;  
var wHeight = document.getElementById('imageHeight').value;
var b = x + wWidth;
alert(b);
if(x+wWidth < 800 && y+wHeight < 1560)

//some work here

所以如果用户输入宽度为 400 且 x 返回 151...b 的值为 151400...而我希望它为 551 以使循环正常工作...

【问题讨论】:

看看javascript中的parseInt函数。 ***.com/questions/1133770/… .value 返回一个字符串。请参阅链接副本了解如何将其转换为整数 【参考方案1】:

您应该阅读parseInt() 方法 --> parseInt() on MDN

【讨论】:

【参考方案2】:

这应该可行:

x = e.pageX - canvas.offsetLeft;
y = e.pageY - canvas.offsetTop;
var wWidth = document.getElementById('imageWidth').value;  
var wHeight = document.getElementById('imageHeight').value;
var x1 = parseInt(x, 10) + parseInt(wWidth, 10);
var y1 = parseInt(y, 10) + parseInt(wHeight, 10);
if(x1 < 800 && y1 < 1560)

    //some work here

【讨论】:

【参考方案3】:

Javascript 是一种具有隐式类型的语言。这意味着当你想做数学时,你必须告诉它事物的类型。您的代码只是告诉它连接字符串,因此您会看到结果。

试试这个:

x = e.pageX - canvas.offsetLeft;
y = e.pageY - canvas.offsetTop;
var wWidth = document.getElementById('imageWidth').value;  
var wHeight = document.getElementById('imageHeight').value;
var b = parseInt(x, 10) + parseInt(wWidth, 10);
alert(b);
if(x+wWidth < 800 && y+wHeight < 1560)

//some work here

【讨论】:

以上是关于在Javascript中添加为字符串的整数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将 1 添加到 JavaScript 中表示为字符串的大整数?

Int到javascript中的十六进制字符串[重复]

用于匹配正整数和负整数的 Javascript RegEx [重复]

关于变量的C ++问题:在字符串中添加一个整数[重复]

在 JavaScript 中如何使用整数添加字符串? [复制]

在Javascript中将小数添加到字符串[重复]