Javascript 想要添加两个被串接为字符串的浮点数

Javascript 想要添加两个被串接为字符串的浮点数,javascript,Javascript,我想添加两个固定小数点为2的浮点数,但它被转换成字符串并连接起来。我知道它的简单问题,但实际上我很忙 var a=parseFloat("15.24869").toFixed(2) var b=parseFloat("15.24869").toFixed(2) 当我输入输入为时更新 var a=parseFloat("7,191"); var b=parseFloat("359.55"); c=(a+b).toFixed(2) O/P:NAN 为什么会这样?方法返回一个字符串。在执行加

我想添加两个固定小数点为2的浮点数,但它被转换成字符串并连接起来。我知道它的简单问题,但实际上我很忙

var a=parseFloat("15.24869").toFixed(2)
   var b=parseFloat("15.24869").toFixed(2)
当我输入输入为时更新

var a=parseFloat("7,191");
var b=parseFloat("359.55");
c=(a+b).toFixed(2)
O/P:NAN
为什么会这样?

方法返回一个字符串。在执行加法后调用它,而不是在之前

var a=parseFloat("15.24869");
var b=parseFloat("15.24869");
var c=(a+b).toFixed(2);
在那之后,
c
也将是一个字符串,因此您需要小心

至于您更新的附加问题,输出不是
NaN
;它是
366.55
。表达式
parseFloat(“7191”)
给出值
7
,因为
不会被识别为数值的一部分。

方法
.toFixed()
返回字符串。在执行加法后调用它,而不是在之前

var a=parseFloat("15.24869");
var b=parseFloat("15.24869");
var c=(a+b).toFixed(2);
在那之后,
c
也将是一个字符串,因此您需要小心

至于您更新的附加问题,输出不是
NaN
;它是
366.55
。表达式
parseFloat(“7191”)
给出值
7
,因为
不会被识别为数值的一部分。

方法
.toFixed()
返回字符串。在执行加法后调用它,而不是在之前

var a=parseFloat("15.24869");
var b=parseFloat("15.24869");
var c=(a+b).toFixed(2);
在那之后,
c
也将是一个字符串,因此您需要小心

至于您更新的附加问题,输出不是
NaN
;它是
366.55
。表达式
parseFloat(“7191”)
给出值
7
,因为
不会被识别为数值的一部分。

方法
.toFixed()
返回字符串。在执行加法后调用它,而不是在之前

var a=parseFloat("15.24869");
var b=parseFloat("15.24869");
var c=(a+b).toFixed(2);
在那之后,
c
也将是一个字符串,因此您需要小心


至于您更新的附加问题,输出不是
NaN
;它是
366.55
。表达式
parseFloat(“7191”)
给出值
7
,因为
不会被识别为数值的一部分。

只需添加括号来解析整个结果字符串

  var a=parseFloat((15.24869).toFixed(2));
  var b=parseFloat((15.24869).toFixed(2));
  c=a+b

只需添加括号即可解析整个结果字符串

  var a=parseFloat((15.24869).toFixed(2));
  var b=parseFloat((15.24869).toFixed(2));
  c=a+b

只需添加括号即可解析整个结果字符串

  var a=parseFloat((15.24869).toFixed(2));
  var b=parseFloat((15.24869).toFixed(2));
  c=a+b

只需添加括号即可解析整个结果字符串

  var a=parseFloat((15.24869).toFixed(2));
  var b=parseFloat((15.24869).toFixed(2));
  c=a+b

做c=a+b将两个答案相加。您可能只想将它们转换为字符串,然后将它们连接起来

var a=parseFloat("15.24869").toFixed(2)
var b=parseFloat("15.24869").toFixed(2)
var c = (a.toString() + b.toString());

做c=a+b将两个答案相加。您可能只想将它们转换为字符串,然后将它们连接起来

var a=parseFloat("15.24869").toFixed(2)
var b=parseFloat("15.24869").toFixed(2)
var c = (a.toString() + b.toString());

做c=a+b将两个答案相加。您可能只想将它们转换为字符串,然后将它们连接起来

var a=parseFloat("15.24869").toFixed(2)
var b=parseFloat("15.24869").toFixed(2)
var c = (a.toString() + b.toString());

做c=a+b将两个答案相加。您可能只想将它们转换为字符串,然后将它们连接起来

var a=parseFloat("15.24869").toFixed(2)
var b=parseFloat("15.24869").toFixed(2)
var c = (a.toString() + b.toString());


这将生成运行时异常。字符串原型上没有
.toFixed()
方法。抱歉(toFixed需要一个数字,而不是字符串)抱歉,我正在编写FAST。这将生成运行时异常。字符串原型上没有
.toFixed()
方法。抱歉(toFixed需要一个数字,而不是字符串)抱歉,我正在编写FAST。这将生成运行时异常。字符串原型上没有
.toFixed()
方法。抱歉(toFixed需要一个数字,而不是字符串)抱歉,我正在编写FAST。这将生成运行时异常。字符串原型上没有
.toFixed()
方法。对不起(toFixed需要一个数字,而不是字符串)对不起,我写FastFast只是为了评论。在某些情况下,这是不可能的,例如,税收计算和toFixed的要求必须在每个值中实现,然后再添加(世界各地奇怪的税收规则)@AlejandroTeixeiraMuñoz true,但是使用二进制浮点进行税务计算从根本上来说是错误的。你介意使用整数和隐含小数更好吗?@AlejandroTeixeiraMuñoz有各种各样的“大整数”和“大小数”数学包,它们为财务计算提供了对舍入(等)的显式控制。它比JavaScript本机数字慢得多,但至少你得到了正确的答案:)我现在读到了:我完全同意这一点。我一直在一个非常大的计费系统上工作(作为产品参数化专家),使用的系统是。。。非常清楚而且有用。。谢谢你的提示。我不在乎哪一个是主要原因。谢谢我只是想评论一下。在某些情况下,这是不可能的,例如,税收计算和toFixed的要求必须在每个值中实现,然后再添加(世界各地奇怪的税收规则)@AlejandroTeixeiraMuñoz true,但是使用二进制浮点进行税务计算从根本上来说是错误的。你介意使用整数和隐含小数更好吗?@AlejandroTeixeiraMuñoz有各种各样的“大整数”和“大小数”数学包,它们为财务计算提供了对舍入(等)的显式控制。它比JavaScript本机数字慢得多,但至少你得到了正确的答案:)我现在读到了:我完全同意这一点。我一直在一个非常大的计费系统上工作(作为产品参数化专家),使用的系统是。。。非常清楚而且有用。。谢谢你的提示。我不在乎哪一个是主要原因。谢谢我只是想评论一下。在某些情况下,这是不可能的,例如,税收计算和toFixed的要求必须在每个值中实现,然后再添加(世界各地奇怪的税收规则)@AlejandroTeixeiraMuñoz true,但是用二进制浮点数进行税务计算从根本上来说是错误的。你介意使用整数和隐含小数更好吗?@AlejandroTeixeiraMuñoz有各种各样的“大整数”和“大小数”数学包,它们提供了对舍入的显式控制(