0

我正在使用 SSRS 编写报告,但遇到了一个非常奇怪的问题。我有一些我不想四舍五入的数字。

以下是正在播放的表达式。我已将文本框格式化为显示 4 位小数、默认值、金钱、自定义和其他没有运气的。这些数字以正确的小数开头。

所以下面是我正在使用的表达式。

为什么使用 OR 运算符时结果会四舍五入或截断????

一般来说,SSRS 和 SQL 是新手。

Textbox1 中有这个表达式

IIf(Fields!SelQty.Value=1,Fields!EstPrice1.Value * Fields!Qty1.Value,0)

结果

2252.2800,
191.3205,
505.2300,
240.8000`

Textbox2 中有这个表达式

IIf(Fields!SelQty.Value=2,Fields!EstPrice2.Value * Fields!Qty2.Value,0)`

结果

81500.0400,
5914.0800,
58166.1600

将 Textbox1 更改为此表达式 =

IIf(Fields!SelQty.Value=1,Fields!EstPrice1.Value * Fields!Qty1.Value,0)

或者

IIf(Fields!SelQty.Value=2,Fields!EstPrice2.Value * Fields!Qty2.Value,0)

结果

2252,
191,
505,
241,
81500,
5914,
58166
4

1 回答 1

1

OR这是一个按位运算符

由于某种类型的转换,所以2252.2800 OR 0给出了。2252就个人而言,我从来没有按位数字数字所以不知道它是如何工作的

为什么要使用 OR :根本没有Iif意义。你真的想做什么?

像这样嵌套Iif

=IIf(
       Fields!SelQty.Value=1, 
       Fields!EstPrice1.Value * Fields!Qty1.Value,
       IIf(
             Fields!SelQty.Value=2, 
             Fields!EstPrice2.Value * Fields!Qty2.Value,
             0
           )
     )
于 2013-07-02T15:44:41.390 回答