Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
插入"&引用;在带有str.replace()的JavaScript字符串中_Javascript_Regex - Fatal编程技术网

插入"&引用;在带有str.replace()的JavaScript字符串中

插入"&引用;在带有str.replace()的JavaScript字符串中,javascript,regex,Javascript,Regex,我有一个JavaScript字符串“amount”,单位是美分,我想在最后两个字符前插入一个“.”将其更改为$。我好像: amount.replace(/(..$)/,\.$1); 应该这样做,但事实并非如此 有人看到问题了吗 谢谢您的替代者应该是一个字符串。它需要用引号括起来: amount.replace(/(..$)/,"\.$1"); 您可以通过替换。使其更加健壮,它将匹配任何与2位数字匹配的\d{2} 但如果您只输入数字,则将其转换为数字并将其除以100会更容易尝试以下方法: v

我有一个JavaScript字符串“amount”,单位是美分,我想在最后两个字符前插入一个“.”将其更改为$。我好像:

 amount.replace(/(..$)/,\.$1);
应该这样做,但事实并非如此

有人看到问题了吗


谢谢

您的替代者应该是一个字符串。它需要用引号括起来:

amount.replace(/(..$)/,"\.$1");
您可以通过替换
使其更加健壮,它将匹配任何与2位数字匹配的
\d{2}

但如果您只输入数字,则将其转换为数字并将其除以
100

会更容易尝试以下方法:

var dollars = parseInt(yourString, 10)/100;

我看不出这里使用正则表达式有什么问题?

是一个正则表达式元字符。您需要在模式中对其进行转义。除非有一些前导的非数字字符,否则我同意使用正则表达式是愚蠢的,因为简单的数学就足够了。@MattBurland是的,然后我认为OP应该进行字符串操作以删除这些非数字字符,然后除以100,如图所示。我真的不认为在这里使用正则表达式来添加小数是好的。国际海事组织。这取决于行动。谢谢。我将继续使用正则表达式,因为它使一切都保持在字符串中。这似乎比转换成一个数字,除以10,再转换回一个字符串更容易。