添加为字符串而不是数字
Adds as string instead of number
当我添加两个初始化为数字的变量时,JS将它们视为字符串并将它们连接起来。在如下计算中,
var p1 = new window.TRIGEO.Point(150, 150);
var p2 = new window.TRIGEO.Point(500, 350);
var p3 = new window.TRIGEO.Point(50, 500);
var medicentre = new Point((p1.x+p2.x+p3.x)/3,(p1.y+p2.y+p3.y)/3);
(其中 Point 有 x 和 y 作为成员),medicentre
很大 =>( 5016683.33 , 50116833.33 )。当答案实际上是=>( 233.33 , 333.33 ).
有没有办法在不使公式太长的情况下覆盖此行为,因为我还有另一个,它至少有三行长。这在不使用parseInt()
的情况下可能吗?
编辑:
点对象如下,仅此而已!
function Point(x, y) {
this.x = x;
this.y = y;
}
TRIGEO
是我正在编写的库的名称,用于可视化三角形的所有重要点和线段。很抱歉造成混乱,我可能应该编辑。
虽然已经回答的Parsint在技术上是正确的,但如果你想要一个更短的公式,你可以通过使你的值为正来欺骗转换(只要你知道它们不会有非数字值
var num1 = '1111.11';
var num2 = 2222.22;
var n1plus2 = (+num1)+num2
// n1p2 : 3333.33
或两个字符串:
var num1 = '1111.11';
var num2 = '2222.22';
var n1p2 = (+num1)+(+num2);
// n1p2 : 3333.33
JavaScript 不认为它们是string
。您可能在 Point
类中执行操作并转换它们。
function A(x, y) {
this.x = x;
this.y = y;
}
var a = new A(1, 1),
b = new A(2, 2),
c = new A(a.x + b.x, a.y + b.y);
alert(c.x + " - " + c.y)
这将按预期输出3 - 3
。
相关文章:
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- Javascript-使用“”将toDateStringMonth从文本字符串解析为数字字符串;如果“;vs“;开关”;
- 在数字字符串的最后两个数字上加上小数
- 在JavaScript中,增加字母数字字符串末尾的数字
- 如何对字母数字字符串值进行排序
- 从数字字符串中获取整数
- Regex用于字母数字字符串中的数字计数
- 如何使用 Javascript/jQuery 将数字字符串递增 +1
- 使用 javascript 计算数字字符串
- parseInt 用于分析数字字符串的替代方法
- 任何输入或文本区域中数字字符串的事件侦听器
- Javascript:生成唯一数字字符串的最佳方法是什么
- JavaScript 中的随机字母数字字符串
- Google Charts - hAxis 上的数字/字符串问题(Jquery ajax JSON 数据)
- Lodash _.sortByOrder 数字字符串
- JavaScript 中一位数数字字符串的总和
- 在JavaScript中将非数字字符串转换为数字
- 使用 Lodash 对数字字符串数组进行排序
- 检查数字字符串是否包含十进制
- 显示以数字字符串形式存在的类