не регулярное выражение, но решение Alteryx: использовать инструмент Формулы со следующим выражением:
ToNumber(
IF Contains(ToString(f1),".") THEN
PadRight(ToString([f1]),Length(ToString([f1],5)),"9")
ELSE
ToString([f1]) + ".99999"
ENDIF
)
Это предполагает поле [f1]
числовой и будет работать для целых чисел. Если [f1]
гарантированно всегда имеют десятичную (как в ваших примерах), то вам не нужно иметь If
и может просто работать с:
ToNumber(
PadRight(ToString([f1]),Length(ToString([f1],5)),"9")
)
Пояснение: Если это целое число (нет десятичной точки), то просто добавьте десятичное число и пять 9-х ... если оно содержит десятичное число, тогда Alteryx предоставляет ToString([f1],5)
, который заполняет нулями до пяти десятичных знаков. Но вы хотите использовать nines, вместо этого я просто хватаю длину этого, а PadRight - оригинал [f1]
с 9-ю до такой же длины.
Как вы определяете, сколько '9' s добавить? Вы уже пробовали какие-либо регулярные выражения? Я бы предположил '(\. \ D +?) (\ D)', а затем добавит '9' между '$ 1' и' $ 2'. – chris85