How to ignore zero decimal place values in Crystal Reports

24,820

Solution 1

Do the following:

  • Right-click the "Details" textbox you want to apply this formatting to
  • Click "Format field"
  • Click the "Number" tab
  • Click "Customize..."
  • Set the Appropriate "Decimals" and "Rounding" values to reflect the DECIMAL scale of the table that feeds into this report
  • Click the "Decimals" formula button
  • Paste the following code, and make sure to change {myproc;1.col1} to reflect your procedure/column:

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

Important:

  1. Change the "{myproc;1.col1}" with the actual variable you are using.
  2. The last line is a formula that dictates how many decimal place would be shown. So after removing all the excess zero, it compute it by subtracting the position of the period with the length of the trimmed string.

Solution 2

A simplest just try the code below at format filed->Number->Customize-> Decimals Code Part:

if CurrentFieldValue=Int(CurrentFieldValue)  then
    0
else
    2

The number '2' is decimal place of yours and you can replace it by your own.

Share:
24,820
Icebreaker
Author by

Icebreaker

Updated on July 09, 2022

Comments

  • Icebreaker
    Icebreaker almost 2 years

    I'm making a report and I need precise decimal values. A number could have a value of 2 decimal places and a number could have a value of 10. If I set the decimal range to 10 places that column will always show 10 decimal places of mostly 0's. How do I ignore 0's in the value if they are present? For example I like the data to show like this:

    123.24
    98.234
    1212.678432
    

    instead of:

    123.2400000000
    98.2340000000
    1212.6784320000