这些是我拥有的字符串:
"test123.00"
"yes50.00"
我想将 123.00 与 50.00 相加。
我怎样才能做到这一点?
我使用了命令 parseInt() 但它在警报框中显示 NaN 错误。
这是代码:
str1 = "test123.00";
str2 = "yes50.00";
total = parseInt(str1)+parseInt(str2);
alert(total);
这些是我拥有的字符串:
"test123.00"
"yes50.00"
我想将 123.00 与 50.00 相加。
我怎样才能做到这一点?
我使用了命令 parseInt() 但它在警报框中显示 NaN 错误。
这是代码:
str1 = "test123.00";
str2 = "yes50.00";
total = parseInt(str1)+parseInt(str2);
alert(total);
只需这样做,您需要删除“数字”和“。”以外的字符。形成您的字符串将为您工作
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);
要使 parseInt 起作用,您的字符串应该只有数字数据。像这样的东西:
str1 = "123.00";
str2 = "50.00";
total = parseInt(str1)+parseInt(str2);
alert(total);
您可以在开始处理它们之前拆分字符串吗?
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
这在逻辑上可能吗??..我想你必须采取的方法是这样的:
Str1 ="test123.00"
Str2 ="yes50.00"
test
除非您在两者之间有分隔符,否则这将无法解决123.00
eg: Str1 = "test-123.00"
然后你可以这样拆分
Str2 = Str1.split("-");
这将返回一个用“-”分割的单词数组
然后你可以做得到parseFloat(Str2[1])
浮动值,即123.00