我有以下数字,想使用正则表达式转换为以下内容,有人可以指出我正确的方向吗?
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)
。但是你想要九,所以我只是抓住这个的长度,而PadRight原来的[f1]
和9的长度相同。