在小数点后附加数字
append digits after decimal
我有以下数字,想使用正则表达式转换为以下数字,有人可以指出正确的方向吗?
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)
来填充零五位小数。但是你想要 9,所以我只是抓住这个的长度,然后 PadRight 原来的 [f1]
和 9 的长度相同。
我有以下数字,想使用正则表达式转换为以下数字,有人可以指出正确的方向吗?
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)
来填充零五位小数。但是你想要 9,所以我只是抓住这个的长度,然后 PadRight 原来的 [f1]
和 9 的长度相同。