Symptom
How to calculate number of decimal places in Number field?
Environment
- Crystal Reports 2008
- SAP Crystal Reports 2011
Resolution
To calculate the number of decimal places use the following formula logic:
(Let's take 1234,56700 as an example)
- Separate Decimal part of the whole number using Floor function: abs({NumberField} - FLOOR({NumberField})) = 0.56700
- Convert the number to a string: totext(abs({NumberField} - FLOOR({NumberField}))) = "0.56700"
- Reverse the string: StrReverse(totext(abs({NumberField} - FLOOR({NumberField})))) = "00765.0"
- Convert the string to a Number: Tonumber(strreverse(totext(abs({NumberField} - FLOOR({NumberField}))))) = 765.0
- Convert the number to a string: Totext(Tonumber(strreverse(totext(abs({NumberField} - FLOOR({NumberField}))))),0,"") = "765"
- Calculate the length of the string and the final formula will look like:
Length(Totext(Tonumber(strreverse(totext(abs({NumberField} - FLOOR({NumberField}))))),0,"")) = 3
Keywords
Dynamically format number of decimal places, floating, , KBA , BI-RA-CR , Crystal Reports designer or Business View Manager , How To
Product
Crystal Reports 2008 V0 ; Crystal Reports 2008 V1 ; SAP Crystal Reports 2011 ; SAP Crystal Reports 2011, feature pack 03 ; SAP Crystal Reports 2013