在javascript中将字符串转换为数字操作的浮点/数字

在javascript中将字符串转换为数字操作的浮点/数字,javascript,knockout.js,Javascript,Knockout.js,我在javascript/knockout中将字符串转换为数字进行数值计算时遇到一些问题 我有以下方法来计算淘汰表中订单的总成本 self.totalCost = ko.computed(function() { var total = 0; for (var i = 0; i < self.itemNumbers().length; i++) //somehow convert the price to a number here so then I can a

我在javascript/knockout中将字符串转换为数字进行数值计算时遇到一些问题

我有以下方法来计算淘汰表中订单的总成本

self.totalCost = ko.computed(function() {
   var total = 0;
   for (var i = 0; i < self.itemNumbers().length; i++)
       //somehow convert the price to a number here so then I can add it 
       total += self.itemNumbers()[i].item.price;
   return total;
});
self.totalCost=ko.computed(函数(){
var合计=0;
对于(var i=0;i
但是,当我将“return total”(返回总计)更改为“return I”(返回I)时,显示的是总计。我假设这意味着价格是字符串,不能添加。当我在表格中输出价格时,它们显示为十进制(如19.99),但我不确定它们是否是数字或字符串

编辑以下内容

我使用parseFloat来转换值。现在,在输出结果的表中,我使用了typeof()并显示了数字。结果仍然不能正确相加


我还能做些什么来检查这些值为什么不求和?我可以检查每个正在添加的值吗?

可能。。总数+=数量(self.itemNumber()[i].item.price)

不,不显示。我说的关于返回的话有意义吗?这是否意味着价格不是一个数字?您应该能够在javascript控制台中设置断点并检查它。如果不知道更多的项目编号,很难说。我更新了上面的帖子。是否仍要显示价格类型?这会显示它们是字符串还是数字吗?我使用parseFloat并将其转换为数字。现在它没有添加,所以我不确定发生了什么。