Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to ignore zero decimal place values in Crystal Reports

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
like image 815
Icebreaker Avatar asked Jun 24 '13 20:06

Icebreaker


2 Answers

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.
like image 101
sion_corn Avatar answered Oct 09 '22 13:10

sion_corn


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.

like image 5
Kingzing Avatar answered Oct 09 '22 14:10

Kingzing