Search code examples
stringcrystal-reportsformulainventory-management

Crystal Reports: Formula unable to make 0.00 value appear blank


I have summarized our inventory usage per Fiscal Year Quarter. The null values appear as 0.00, but I want to make them blank. The formula I have worked out so far is this:

If IsNull({USAGE.CURFY_Q1}) and IsNull({USAGE.CURFY_Q2}) 
   and IsNull({USAGE.CURFY_Q3}) and IsNull({USAGE.CURFY_Q4})
then "" 
else 
"Q1: " & Cstr({USAGE.CURFY_Q1}) & chr(13) & chr(10) & 
"Q2: " & Cstr({USAGE.CURFY_Q2}) & chr(13) & chr(10) & 
"Q3: " & Cstr({USAGE.CURFY_Q3}) & chr(13) & chr(10) &  
"Q4: " & Cstr({USAGE.CURFY_Q4}) 

The formula creates this result:

Q1: 5.00
Q2: 2.00
Q3: 0.00
Q4: 0.00

I would prefer:

Q1: 5
Q2: 2
Q3: 
Q4: 

I think ToText(Q1,0) may be involved... :)


Solution

  • local stringvar q1;
    local stringvar q2;
    local stringvar q3;
    local stringvar q4;
    
    if isnull({USAGE.CURFY_Q1}) then q1:="" else q1:=totext({USAGE.CURFY_Q1},0);
    if isnull({USAGE.CURFY_Q2}) then q2:="" else q2:=totext({USAGE.CURFY_Q2},0);
    if isnull({USAGE.CURFY_Q3}) then q3:="" else q3:=totext({USAGE.CURFY_Q3},0);
    if isnull({USAGE.CURFY_Q4}) then q4:="" else q4:=totext({USAGE.CURFY_Q4},0);
    
    if (q1="" and q2="" and q3="" and q4="") then "" else
    
    "Q1: " & q1 & chr(10) &
    "Q2: " & q2 & chr(10) &
    "Q3: " & q3 & chr(10) &
    "Q4: " & q4