我有以下数字,并希望使用正则表达式转换为以下,可以有人指出我在正确的方向。
Current State Desired State
13.2 13.29999
1.66 1.66999
1.002 1.00299
0.2336 0.23369
由于
答案 0 :(得分:0)
不是正则表达式,而是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提供{{1其中填充零到五个小数点。但是你想要9,所以我只需要抓住它的长度,然后将原来的ToString([f1],5)
与原来的[f1]
填充到相同的长度。