Javascript 为什么';12.3456';。匹配(/^\d+;\。\d{2}$\d{2}$/)已获得';56';
我想使用javascript let 12.3456->12.34 我尝试了Javascript 为什么';12.3456';。匹配(/^\d+;\。\d{2}$\d{2}$/)已获得';56';,javascript,regex,Javascript,Regex,我想使用javascript let 12.3456->12.34 我尝试了'12.3456'。替换(/^\d+\.\d{2}$\d{2}$/,“”)可以做到 即使我去,但我不明白为什么注册经验可以匹配'56' 请帮助我理解它,因为您的正则表达式/^\d+。{2}$\d{2}$/匹配的是带有两个小数(^\d+。{2}$)或()最后两位(\d{2}$)的数字。因为第一个不匹配(您的输入有四个小数),所以第二个交替匹配,并替换为空字符串 12.3456 ^^ matched by \
'12.3456'。替换(/^\d+\.\d{2}$\d{2}$/,“”)可以做到
即使我去,但我不明白为什么注册经验可以匹配'56'
请帮助我理解它,因为您的正则表达式/^\d+。{2}$\d{2}$/
匹配的是带有两个小数(^\d+。{2}$
)或(
)最后两位(\d{2}$
)的数字。因为第一个不匹配(您的输入有四个小数),所以第二个交替匹配,并替换为空字符串
12.3456
^^ matched by \d{2}$
替换为空字符串
12.34
如果这是关于四舍五入的数字,这可能会有所帮助,也许您需要parseFloat('12.3456')。改为fixed(2)
。