# Creating Number Rows

Numbers include real (decimal), fractions and feet-inches. As with other types, numbers include labels, default values and variables. In addition numbers can have optional equations, precision settings, keywords and they can chain calculate.

More information is in the section on Entering Data in a Template.

## Number Basics

This is the basic structure of a number row:

"Label" "Default" variable:equation ::

"Label"
Text label displayed to the template's user. This is not used in an equation (variables are). This can be a single word (i.e. Periods) or multiple words (i.e., "Present Value"). If multiple words it must be in quotation marks. (details here)

"Default"
Row's default value in quote marks. In most cases you will want to leave this blank via a beginning and closing quotation: "". The default value is known and impacts auto calculation. In other words, if it's a value you would expect a template user to enter before calculating then leave this blank (""); otherwise give it a value. Blank default values always display as 0 in the template. (details here)

Variable
Reference name for the row. This variable must be unique for each row. (details here)

Colon [:]
Separates the variable from equation. If there is no equation then the colon should be eliminated as well.

Equation
Formula to calculate. The equation is optional and separated from the variable by the single colon (:) indicated above. Not all rows require equations nor do all rows have to have the same equation. While simple templates require both a left and right side of the equation, advanced templates do not require both sides (and thus don't require an = symbol). If only one side is provided, it is assumed that the left side is "variable =" (no quotes). If both sides are included then the variable to be calculated can be anywhere within the equation. (details here)

Double-Colon [::]
Indicates the end of the row. This is optional for the template's final row.

## Number Mode & Precision

The number mode -- real, fraction, feet-inches -- and precision is set by an additional, optional component. If this is excluded a real number of floating precision (decimal places) is assumed:

"Label" "Default" variable, precision:equation ::

For real numbers use the values 0 through 10. (For floating precision leave off the precision altogether.) For scientific notation, use -1S, 0S through 10S and for engineering notation use -1E, 0E through 10E. -1 denotes float.

For fractions use FRx, FRxx, FRxxx, FRxxxx, FR2, FR4, FR8, FR16, FR32, FR64, FR10, FR100 or FR1000. FRx through FRxxxx shows 1 through 4 places in the denominator; all others round the denominator to its value (2, 4, 8, etc.) and then reduces the result (4/8 shows as 1/2).

For feet-inches use FT2, FT4, FT8, FT16, FT32 or FT64. Each rounds the denominator to its value (2, 4, 8, etc.) and then reduces the result (4/8 shows as 1/2).

## Keywords

Keywords help define special characteristics of the row. Options include:

"Label" "Default" readonly noequals noclear noemail variable, precision:equation ::

You can include all four, no keywords or a combination of them.

readonly is used to keep the template user from entering data in a row. Read-only rows appear in beige (instead of gray). Selection in a read-only number row is ignored.

noequals hides the equals buttons. The equals button appears on a row where a formula is defined. Sometimes the equals button is not required as the calculation of a row is automatically triggered by the calculation of another row. For instance Difference in the Discount template is automatically calculated when any of the other variables are calculated. (noequals and hideequals do the same thing.)

noclear retains the last entered number when a new template is requested. It is a simple way of allowing the user to define a Setting within the template.

noemail is used to exclude the row from email messages. Usually this is used on rows that add no value to the email receiver. For instance all simple templates exclude decSetting row, added automatically, from any sent messages.

## Chain Calculations

Most templates are smart enough to auto calculate. When enough data is filled in, auto calculate will perform the remaining computations. Sometimes, however, the template needs a little help. This is where chain calculation comes in. Chain calculation is a statement to the template that says, "when you are done calculating this row, calculate this other row next":

"Label" "Default" variable, precision, chain:equation ::

Chain is an optional component. In place of the word "chain", enter the variable you wish to calculate next. See the Auto Calculate, Chaining & Defaults section for details.