Javascript 对于-2.00,分析浮点返回0-2.00

Javascript 对于-2.00,分析浮点返回0-2.00,javascript,asp.net,parsefloat,Javascript,Asp.net,Parsefloat,在我试图为我的aspx页面实现的JavaScript中,parsefloat(“-2.00”)返回一个值0-2.00 很明显,我遗漏了一些东西,因为parsefloat可以处理负数,然而,在调试中它向我显示了这个值,输出结果是0 请帮我调查一下我可能做错了什么 我在javascript中使用的代码 var A=0; A = document.getElementById('A').value; A += (parseFloat(A).toFixed(2)); document.getElemen

在我试图为我的aspx页面实现的JavaScript中,parsefloat(“-2.00”)返回一个值0-2.00

很明显,我遗漏了一些东西,因为parsefloat可以处理负数,然而,在调试中它向我显示了这个值,输出结果是0

请帮我调查一下我可能做错了什么

我在javascript中使用的代码

var A=0;
A = document.getElementById('A').value;
A += (parseFloat(A).toFixed(2));
document.getElementById("C").value = roundToTwo(parseFloat(A) + parseFloat(B));

谢谢更新

请参阅
.toFixed()
的文档-它返回该数字的字符串表示形式

你需要做的是将两个数字相加,然后调用toFixed

 var A=0; //A is of type number
 A = document.getElementById('A').value; //A is of type string
 A += parseFloat(A); //A is of type number again
 A = A.toFixed(2); //A is of type string again

当您对两个变量调用
+=
时,其中一个是数字,另一个是字符串,那么这两个变量都将转换为字符串并简单地追加。

问题是,当您获得id为
A
的HTML元素的值时,您将获得一个字符串值。因为您试图向字符串添加浮点,flaot将将自动转换为字符串,并因此连接

确保
A
始终是浮动应该可以解决此问题

A = parseFloat(document.getElementById('A').value);
A += parseFloat(parseFloat(A).toFixed(2));

我怀疑是这样,但在你的问题中,你的引号不匹配。它应该是
parseFloat('-2.00')
。这对我来说很好。我实际上已经声明了这个值,并将其放在一个单独的变量中,然后将其放在parsefloat中。我知道这通常应该是可行的,但对我来说,它给了我0-2.00。你能分享代码吗?除非我们知道你的实现,否则我们帮不了多少忙,因为函数的行为应该是正常的。我有一个添加了codecan的一部分,您还添加了与之交互的HTML吗?问题不大。请尝试
var a;a=0;a+=-2.00;
它的值将为
-2
@dm感谢您的反馈,我已经更新了我的答案
a+=parseFloat(a);
仍然是一个字符串,因为
a
的当前值是一个字符串。