-1

需要货币后处理器用于所有货币金额。后处理器的逻辑应处理以下情况:

14.978.00 -> 14,978.00 

14.97800 -> 14,978.00 

14,97800 -> 14,978.00 

逻辑如下:

  1. 如果数字格式正确(逗号在正确的位置,并且最多找到一个小数点,后面有 2 位数字)- 那么什么也不做。

  2. 否则,如果在逗号有意义的位置找到小数点,则将小数点更改为逗号(如果小数点右侧有 3 个或更多数字,则将小数点更改为逗号)

  3. 执行步骤 2 后,任何以逗号结尾的数字后跟 5 位数字 ( ,nnnnn) 都应转换为,nnn.nn.

4

1 回答 1

0

s/\.(\d{3})/,$1/
匹配一个点,后跟 3 位数字,用逗号替换,后跟相同的 3 位数字(已捕获)。

s/,(\d{3})(\d{2})$/,$1.$2/
匹配一个逗号,后跟 5 位数字(一组 3 和一组 2)在字符串的末尾,用逗号替换,前 3 位数字(被捕获),一个点和最后 2 位数字(被捕获)。

于 2013-11-08T07:20:51.610 回答