我搜索了现有线程,无法弄清楚我在哪里做错了...
我试图获取两个值的平均值,然后将平均值四舍五入到最接近的TEN(10)。
我的表情是:
=ROUND((Fields!Cyl1Stress.Value + Fields!Cyl2Stress.Value) / 2, -1)
以上返回错误。
四舍五入到最接近的十倍效果很好,但是一旦我将1更改为-1,我就会得到错误。
在Cyl1Stress.Value = 7600
和Cyl2Stress.Value = 7490
处。
=ROUND((Fields!Cyl1Stress.Value + Fields!Cyl2Stress.Value) / 2, **1**)
上面的代码返回7545。
但是我需要结果为7550,所以我将公式更改为:
=ROUND((Fields!Cyl1Stress.Value + Fields!Cyl2Stress.Value) / 2, **-1**).
这返回一个错误。
无法弄清楚为什么它不起作用!
文本框属性为数字,小数点后0位。
答案 0 :(得分:2)
我认为您不能对Digits
的{{1}}参数使用负值。 documentation指示:
返回值中的小数位数。对于十进制值,范围可以从0到28。对于双精度值,范围可以从0到15。
您可以通过将值除以10,四舍五入到最接近的整数,然后乘以10,来完成所需的工作。另外请注意,如果您想将以Round
结尾的值四舍五入到下一个10,您将需要向5
添加第三个参数来表明这一点,否则我认为默认行为会四舍五入到最接近的偶数。这会使您的示例四舍五入到7540,而不是7550。
此表达式应为您要查找的内容
Round
对于您的示例值,这会将7545转换为754.5,四舍五入为最接近的整数,然后将其四舍五入为零而不是最接近的偶数(755),然后乘以10(7550)。