Number.Round 函数没有按照我的意愿执行。是否有另一种方法来保留小数位?

Number.Round function not doing what I want.. Is there another way to preserve decimal places?

我正在尝试将文本转换为数字,以便我可以将它乘以 1.5,然后使用 powerquery 的 Number.Round() 函数保留 4 位小数,但之后我无法保留任何尾随零.

我只是通过使用 Text.Pad 函数操纵文本以在末尾添加零来解决数学问题,但这并不适用于所有情况。有些情况下根本不保留小数点,而其他情况下则保留 1 或 2 位小数。

if [EarnCode] <> "02" then [Rate] 
else if [Dept] = " 05" then 13.05 
else Number.ToText(Number.Round(Number.FromText([Rate])*1.5,4))

我希望最后一个 else 会捕获所有“02”的部门,然后将它们的比率更改为金额的 1.5 倍,然后添加 4 个小数位,但在一个比率为 14.9 的情况下,它返回 22.35。似乎我的 Number.Round() 函数没有保留我将数字转换回文本时所需的尾随零。我将如何保留它们?

我认为您不想使用舍入函数来获取尾随零。试试这个:

Number.ToText(Number.FromText([Rate])*1.5, "0.0000")

https://docs.microsoft.com/en-us/powerquery-m/number-totext