100.01 这非常棒,正是我想要的效果。我只想-6ren">
gpt4 book ai didi

正则表达式 : replacing the last dot for a comma

转载 作者:数据小太阳 更新时间:2023-10-29 05:42:25 25 4
gpt4 key购买 nike

我有以下代码:

var x = "100.007"
x = String(parseFloat(x).toFixed(2));
return x
=> 100.01

这非常棒,正是我想要的效果。我只想要一个小小的补充,就像这样:

var x = "100,007"
x.replace(",", ".")
x.replace
x = String(parseFloat(x).toFixed(2));
x.replace(".", ",")
return x
=> 100,01

但是,此代码将替换第一次出现的“,”,我想在其中捕获最后一个。任何帮助将不胜感激。

最佳答案

您可以使用正则表达式来完成:

x = x.replace(/,([^,]*)$/, ".$1");

该正则表达式匹配逗号后跟任意数量的文本(不包括逗号)。替换字符串只是一个句点,后面跟着原始最后一个逗号之后的任何内容。字符串中它前面的其他逗号不会受到影响。

现在,如果您真的要转换“欧洲风格”格式的数字(因为没有更好的术语),您还需要担心“.”。 “美国风格”数字会有逗号的地方的字符。我认为您可能只想摆脱它们:

x = x.replace(/\./g, '');

当您在字符串上使用“.replace()”函数时,您应该了解它返回 修改后的字符串。但是,它不会修改原始 字符串,因此语句如下:

x.replace(/something/, "something else");

对“x”的值没有影响。

关于正则表达式 : replacing the last dot for a comma,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4843691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com