Нужный валютный постпроцессор для всех валютных сумм. Логика для постпроцессора должен обрабатывать следующие случаи:Регулярное выражение для валютных данных, распознающих запятую и десятичные знаки
14.978.00 -> 14,978.00
14.97800 -> 14,978.00
14,97800 -> 14,978.00
Логика заключается в следующем:
Если число хорошо сформирован (запятые в правильном месте и не более одной десятичной точки найдено с 2 цифрами после него) - тогда ничего не делать.
Иначе, если десятичная точка находится в положении, в котором запятая будет иметь смысл, а затем изменить десятичную точку на запятую (изменение десятичной запятую, если десятичные имеют 3 или более чисел справа от него)
После выполнения шага 2 Любое число, которое заканчивается запятой, за которой следует 5 цифр (
,nnnnn
), должно быть преобразовано в,nnn.nn
.
Я положил^([0-9] {2,3}) \. ([0-9] {3}) \. ([0-9] {2}) $ |^([0- 9] {2,3}) \, ([0-9] {3}) ([0-9] {2}) $ |.^([0-9] {2,3}) \ ([0 -9] {3}) ([0-9] {2}) $ в регулярном выражении и $ 1 \, $ 2 \. $ 3 взамен, но он просто отображается. в выводе, он не подбирает целочисленные значения –
Это означало бы, что это совпадение, но не захват, что странно. Однако это не то, что я предложил всем. – SQB