PQ中的Number.Round函数是四舍六入五单双,和平时实用的四舍五入是不一样的.
观察上图,发现两个答案是一样的.四舍六入五单双的意思是,以上图为例当需要保留1个小数的时候, 第二位小数小于5和大于5的情况和四舍五入一样.当第二位小数的数字是5时候,第一位如果是双,也就是偶数,就不会进位.如果是单数,也就是奇数,就会进位.以前写了一个自定义函数,发现超级复杂,连我自己都懒得看了.今天偶然写代码的时候,发现Number.ToText的第二参数是符合四舍五入的.所以直接使用这个函数就行了.
Number.ToText的结果是个文本,所以要转为数字,直接套个Number.From就好了.上面第二参数是" 0.0" 这个是保留一个小数,"0.000"是保留三位小数.其实,这两个函数组合已经很简单了.如果觉得还是太麻烦,可以自己制作一个自定义函数.
(数字 as number,保留位数 as number ) as number=> Number.From( Number.ToText(数字,"0."& Text.Repeat("0", 保留位数 ) ) )
还可以把这个代码放进自己制作的自定义函数集合中,关于自己制作自定义函数集合方法在此链接:
其他_制作自定义函数集合前的准备_01_Expression.Evaluate
其他_制作收集自定义函数的工具_02效果如下图:
现在来使用round函数,
------KO------
相关文件和代码在群里下载
群名:轻松学会PowerQuery
群号:830974032
热爱PQ的可以加入此群,大家可以一起学习一起进步.
本人也是菜鸟,对PQ有浓厚的兴趣.
所以开个公众号,把这段时间学习的分享给大家.
如有错误的地方,请大家指正.^-^