Special Forms - Quantity Masking - Whole or Decimal
This question comes up occasionally, particularly with ERP systems where the excess decimals are there to cover all bases and are rarely used by most of the FormTrap customers. This particular data file has four decimals of quantity. Most quantity data is whole numbers, with the bulk of the remainder having two or less decimals. Four decimals occurs usually where the quantity involves "1/3rd" and "2/3rd" type values where expression in decimal is recurring and the additional precision is not useful.
This example form prints the detail lines only, showing whole numbers without decimals, and decimals to their last non-zero digit (the better alternative is to round to two decimals).
This is how you do it:
- Define three fields:
- Entire field
Decimal portion only (incl. the decimal point)
Whole Number portion only
- Make your value in the Definition Tab over 1,000 so we can align with the next field (in red in the example).
- Use conditional printing to print Whole
Numbers, aligned right. The Print Test is Decimal Portion Equal to
(text) ".0000".
Masking for this is Amount/Numeric.
- Make your value (Definition tab) a number that includes the same value as the above for alignment (blue in the example).
- Use conditional printing to print the entire
field, aligned decimal. The Print Test is Decimal Portion Not Equal
to (text) ".0000".
Masking is "Custom", and comprises a field of the same length as the original, ie 14 underscores, with two trailing decimal positions masked right, thousand separator commas inserted for alignment, and the first 8 underscores masked left (this leaves "0.12 as the minimum value printed). - (Alternative is to use Amount/Numeric and define the field as "Use input separator", with two output decimals which rounds the decimal portion).
- Finally and at high magnification, align the whole numbers on top of each other, using the arrow keys and Nudge distance of 1 for final alignment.
A PDF from the example form and data file shows below:
This question was put by Scholle Corporation who uses FormTrap globally and have policy decisions on "rationalization" of their computer outputs - such as this one.