作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试添加多个美元金额的字符串。我从 parseFloat
进行转换时得到 NaN,但我删除了美元符号和所有逗号。有什么建议吗?
我尝试简单地添加它们而不使用parseFloat
,但我只得到一个连接的字符串。
function calculateTotalCost()
{
var amt;
var subTotal;
for(i=1; i < 9; i++)
{
amt = document.getElementById("cphMain_gridPC").rows[i].cells[1].innerHTML;
var amtNum = amt.replace('$', '');
var amtF = amtNum.replace(',', '');
if(isNaN(amtF))
{
subTotal += 0.00;
}
else
{
subTotal += parseFloat(amtF);
alert(subTotal);
}
}
alert(subTotal);
}
我希望将小计或每个 tds 值加在一起。
最佳答案
使用类似的替换方法只会替换字符串中该模式的第一个实例。可能发生的情况是,像“3,000,000”这样的数字会更改为“3000,000”,这就是为什么您仍然得到 isNaN(amtF) === true。
试试这个:
var amtF = amtNum.replace(/,/g, '');
斜杠而不是引号表示您正在搜索正则表达式模式,它还允许您使用 g 标志。这代表全局,意味着该模式的所有实例都将被替换。
编辑: 问题可能是您忘记将小计初始化为零。更改此:
var subTotal;
对此:
var subTotal = 0;
关于javascript - 如何从 tds 添加多个字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58612246/
我是一名优秀的程序员,十分优秀!