使用javascript / jquery从String获取Integer值

时间:2012-05-28 06:14:53

标签: javascript jquery

这些是我的字符串:

"test123.00"
"yes50.00"

我想用50.00添加123.00。

我该怎么做?

我使用了命令parseInt()但它在警告框中显示NaN错误。

这是代码:

 str1 = "test123.00";
 str2 = "yes50.00";
 total = parseInt(str1)+parseInt(str2);
 alert(total);

4 个答案:

答案 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);

Demo

答案 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"

除非您在test123.00

之间设置分隔符,否则无法解决此问题
eg: Str1 = "test-123.00" 

然后你可以这样分开

Str2 = Str1.split("-"); 

这将返回一个用“ - ”

分隔的单词数组

然后您可以parseFloat(Str2[1])获取浮动值,即123.00