这些是我的字符串:
"test123.00"
"yes50.00"
我想用50.00添加123.00。
我该怎么做?
我使用了命令parseInt()但它在警告框中显示NaN错误。
这是代码:
str1 = "test123.00";
str2 = "yes50.00";
total = parseInt(str1)+parseInt(str2);
alert(total);
答案 0 :(得分:85)
只需执行此操作,您需要删除"数字"以外的字符。和"。"形成你的字符串将为你工作
yourString = yourString.replace ( /[^\d.]/g, '' );
您的最终代码将是
str1 = "test123.00".replace ( /[^\d.]/g, '' );
str2 = "yes50.00".replace ( /[^\d.]/g, '' );
total = parseInt(str1, 10) + parseInt(str2, 10);
alert(total);
答案 1 :(得分:6)
要使parseInt起作用,您的字符串应该只包含数字数据。像这样:
str1 = "123.00";
str2 = "50.00";
total = parseInt(str1)+parseInt(str2);
alert(total);
您可以在开始处理字符串之前拆分字符串吗?
答案 2 :(得分:1)
str1 = "test123.00";
str2 = "yes50.00";
intStr1 = str1.replace(/[A-Za-z$-]/g, "");
intStr2 = str2.replace(/[A-Za-z$-]/g, "");
total = parseInt(intStr1)+parseInt(intStr2);
alert(total);
工作Jsfiddle
答案 3 :(得分:-1)
这在逻辑上是否可行?我想你必须采取的方法就是这样:
Str1 ="test123.00"
Str2 ="yes50.00"
除非您在test
和123.00
eg: Str1 = "test-123.00"
然后你可以这样分开
Str2 = Str1.split("-");
这将返回一个用“ - ”
分隔的单词数组然后您可以parseFloat(Str2[1])
获取浮动值,即123.00