0

我有以下数字,想使用正则表达式转换为以下数字,有人能指出我正确的方向。

Current State   Desired State 
        13.2    13.29999
        1.66    1.66999
        1.002   1.00299
        0.2336  0.23369

谢谢

4

1 回答 1

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 提供一个ToString([f1],5)将零填充到五个小数点的 a 但是你想要 9,所以我只是抓住这个的长度,然后 PadRight[f1]与 9 的原始长度相同。

于 2017-01-23T16:40:55.360 回答