Crystal Reports - 在我的公式字段中显示一个小数

时间:2010-05-14 17:53:46

标签: crystal-reports

我的公式字段中有以下内容:

toText(((Sum ({DataTable1.Ending_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Investments}, {DataTable1.Name})) + (Sum ({DataTable1.Proceeds}, {DataTable1.Name})) + (Sum ({DataTable1.Interest_and_Dividends}, {DataTable1.Name})))/(Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) * 100)  + " %"

输出类似于:6.32%

而不是在小数点后有2个数字,有没有办法只有1?我试过以下没有运气:

toText(((Sum ({DataTable1.Ending_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Investments}, {DataTable1.Name})) + (Sum ({DataTable1.Proceeds}, {DataTable1.Name})) + (Sum ({DataTable1.Interest_and_Dividends}, {DataTable1.Name})))/((Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) * 100),1)  + " %"

b / c输出保持显示0.0%的所有

接下来我尝试了这个:

(toText(((Sum ({DataTable1.Ending_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) - (Sum ({DataTable1.Investments}, {DataTable1.Name})) + (Sum ({DataTable1.Proceeds}, {DataTable1.Name})) + (Sum ({DataTable1.Interest_and_Dividends}, {DataTable1.Name})))/(Sum ({DataTable1.Starting_Value}, {DataTable1.Name})) * 100)  + " %"),1)

也没有运气。

有人有什么想法吗?

3 个答案:

答案 0 :(得分:1)

您是否尝试使用右键单击字段并选择“格式对象”时获得的数字格式选项?这比尝试让ToText()做你想要的更容易。

编辑:如果你想使用ToText(),尝试使用格式字符串而不是1作为你的第二个参数 - 我认为这样做:

ToText(sum(...) + sum(...), "0.0")

答案 1 :(得分:0)

我喜欢Ray的解决方案,但为了完整性,还有this hacky method;如果你还需要一个货币符号,这显然是错误的方法:

  1. 右键单击数字字段,然后选择格式化。
  2. 转到“数字”选项卡,然后单击“自定义”。
  3. 单击货币符号选项卡。
  4. 点击启用货币符号。
  5. 将货币符号更改为'%'
  6. 将位置组合框更改为“-123%”
  7. 单击“确定”,单击“确定”退出并保存。

答案 2 :(得分:0)

试试这个:

  1. 右键单击数字字段。
  2. 点击自定义按钮。
  3. 在十进制公式字段中右下方的公式。

    1 or if <yourfieldname>="condition" then 1 else 2
    
  4. 确保舍入十进制字段为0.1或您的选择。