如何从javascript值中拆分$

如何从javascript值中拆分$,javascript,jquery,Javascript,Jquery,我想将$符号从I变量中拆分出来,并将值显示为20而不是,20 我为此使用的代码: <script> var i = "$20"; var j= "10"; var values=i.split('$'); var v = values; var sum=parseInt(v)+j; document.write(sum); </script> 变量i=“$20”; var j=“10”; var值=i.split(“$”

我想将
$
符号从
I变量
中拆分出来,并将值显示为
20
而不是
,20

我为此使用的代码:

<script>
    var i = "$20";
    var j= "10";
    var values=i.split('$');
    var v = values;
    var sum=parseInt(v)+j;
    document.write(sum);
</script>

变量i=“$20”;
var j=“10”;
var值=i.split(“$”);
var v=数值;
var sum=parseInt(v)+j;
文件。填写(金额);
如何在没有逗号的情况下拆分值?

试试以下方法:

var i = "$20";
var j = "10";
var values = i.split('$');  // Creates an array like ["", "20"]
var v = values[1];          // Get the 2nd element in the array after split
var sum = parseInt(v, 10) + parseInt(j, 10);
console.log(sum);
试试这个:

var i = "$20";
var j = "10";
var values = i.split('$');  // Creates an array like ["", "20"]
var v = values[1];          // Get the 2nd element in the array after split
var sum = parseInt(v, 10) + parseInt(j, 10);
console.log(sum);

编辑(延迟)以解决特定正则表达式的问题,删除任何
字符(表示小数):

参考资料:

编辑(延迟)以解决特定正则表达式的问题,删除任何
字符(表示小数):

参考资料:


不要解析它,直接执行添加:

var i = 20;
var j = 10;
var sum = i + j; // use parseInt() if it's defined as a string - see below
// var i = "$20".replace(/\$/g,'');
// var j = "30";
// var sum = parseInt(i) + parseInt(j)
此外,如果必须替换字符串中的某些字符,请使用replace():


不解析它,直接执行加法:

var i = 20;
var j = 10;
var sum = i + j; // use parseInt() if it's defined as a string - see below
// var i = "$20".replace(/\$/g,'');
// var j = "30";
// var sum = parseInt(i) + parseInt(j)
此外,如果必须替换字符串中的某些字符,请使用replace():

检查这个,它工作正常

检查这个,它工作正常

试一试

试一试



您应该将第二个参数传递给
parseInt
replace()
是您想要的,而不是split。预期输出是什么?您应该将第二个参数传递给
parseInt
replace()
是您想要的,不拆分。预期的输出是什么?@Manju很高兴它有帮助:)@Manju很高兴它有帮助:)+1-这显然是一种方法,为什么要使用拆分来删除character@adeneo:谢谢,这也是我的想法(在“为什么所有的
var
声明?”和“基数在哪里?”之后)…是的,拆分看起来很愚蠢,另外,使用
parseFloat
可能更安全一些……如果
“$20”
是,比如说,
“$20.00”
-
\D
将剥离
,那么替换将是一个问题。
2000
而不是
20
@Brad:是的,我知道。我忘了添加一个简单地去掉货币符号的替代方案。+1-这显然是这样做的,为什么要使用split来删除货币符号character@adeneo:谢谢,这也是我的想法(在“为什么所有的
var
声明?”和“基数在哪里?”之后)…是的,拆分看起来很愚蠢,另外,使用
parseFloat
可能更安全一些……如果
“$20”
是,比如说,
“$20.00”
-
\D
将剥离
,那么替换将是一个问题。
2000
而不是
20
@Brad:是的,我知道。我忘了添加一个简单地去掉货币符号的替代项。regex应该是
/\$/
$
是一个特殊字符。另外,不执行
parseInt()
将产生
“2010”
的结果。regex应该是
/\$/
$
是一个特殊字符。另外,不执行
parseInt()
将产生
“2010”
的结果。
i = i.replace(/\$/g,'')
var i = "$20";
var j = "10";
var values = i.split('$');
var v = values[1];
var sum = parseInt(v) + parseInt(j);
alert(sum);
var i = "$20"
   ,j = "10"
   ,sum = +j + +i.slice(1);
//=> sum = 30