如何忽略Crystal Reports中的零小数位值

Ice*_*ker 6 crystal-reports crystal-reports-xi

我正在报告,我需要精确的十进制值.数字可以具有2个小数位的值,并且数字可以具有值10.如果我将小数范围设置为10个位置,该列将始终显示10个小数位数,大多数为0.如果它们存在,我如何忽略值中的0?例如,我喜欢这样显示的数据:

123.24
98.234
1212.678432
Run Code Online (Sandbox Code Playgroud)

代替:

123.2400000000
98.2340000000
1212.6784320000
Run Code Online (Sandbox Code Playgroud)

sio*_*orn 9

请执行下列操作:

  • 右键单击要应用此格式的"详细信息"文本框
  • 点击"格式字段"
  • 单击"编号"选项卡
  • 点击"自定义..."
  • 设置适当的"小数"和"舍入"值,以反映输入此报告的表的DECIMAL比例
  • 单击"小数"公式按钮
  • 粘贴以下代码,并确保更改{myproc; 1.col1}以反映您的过程/列:

    stringVar number := ToText({myproc;1.col1}, 8); 
    while (right(number, 1) = "0") do 
    number := left(number, len(number) - 1);
    len(number) - InStr(number, ".");
    
    Run Code Online (Sandbox Code Playgroud)

  • 是的,我记得当我不得不弄清楚时,这是多么令人沮丧...最好的解决方案是不使用水晶:) (2认同)

小智 5

最简单的只是在格式归档->数字->自定义->小数代码部分尝试下面的代码:

if CurrentFieldValue=Int(CurrentFieldValue)  then
    0
else
    2
Run Code Online (Sandbox Code Playgroud)

数字“2”是您的小数位,您可以自己替换它。