我有以下数字,想使用正则表达式转换为以下数字,有人能指出我正确的方向。
Current State Desired State
13.2 13.29999
1.66 1.66999
1.002 1.00299
0.2336 0.23369
谢谢
不是正则表达式,而是 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)
将零填充到五个小数点的 a 但是你想要 9,所以我只是抓住这个的长度,然后 PadRight[f1]
与 9 的原始长度相同。