# NumberFormat

Creates a custom-formatted number value. If no mask is specified, returns the value as an integer with a thousands separator.

See also DecimalFormat, DollarFormat, and IsNumeric.

### Syntax

    NumberFormat(number [, mask ])

##### number

The number you want to format.

##### mask

Set of characters that are used to show how ColdFusion should display the number.

Mask characters
Character | Meaning
--- | ---
    _ (underscore)
| Optional digit placeholder.
    9
| Optional digit placeholder. Same as _, but shows decimal places more clearly.
    .
| Specifies the location of a mandatory decimal point.
    0
| Located to the left or right of a mandatory decimal point, to force padding with zeros.
    ( )
| Places parentheses around the mask if the number is less than 0.
    +
| Places + in front of positive numbers, - (minus sign) in front of negative numbers.
    -
| Place " " (space) in front of positive, - (minus sign) in front of negative numbers.
    ,
| Separates thousands with commas.
    L,C
| Specifies left-justify or center-justify a number within the width of the mask column. L or C must appear as the first character of the mask. By default, numbers are right-justified.
    $
| Places a dollar sign in front of the formatted number. $ must appear as the first character of the mask.
    ^
| Separates left from right formatting.

Note | If you do not specify a sign for the mask, positive and negative numbers will not align in columns. As a result, if you expect to display both positive and negative numbers in your application, use either the space or use - (minus sign) to force a space in front of positive numbers and a minus sign in front of negative numbers.

### Usage

The position of codes in format masks determines where those codes will have effect. For example, if you place a dollar sign character at the far left of a format mask, ColdFusion displays a dollar sign at the very left edge of the formatted number. If you separate the dollar sign on the left edge of the format mask by at least one underscore, ColdFusion displays the dollar sign just to the left of the digits in the formatted number.

In all examples below, the numbers under the masks and the formatted output are used to clearly show the positions of characters.

Number | Mask | Result
--- | --- | ---
    4.37
    $____.__
    "$   4.37"
    4.37
    _$___.__
    "   $4.37"
    12345678
     12345678

This positioning idea can also be used to show where to place the - (minus sign) for negative numbers:

Number | Mask | Result
--- | --- | ---
    -4.37
    -____.__
    "-   4.37"
    -4.37
    _-___.__
    "   -4.37"
    12345678
    12345678

There are four possible positions for any code character: far left, near left, near right, and far right. The left and right positions are determined by the side of the decimal point the code character is shown on. For formats that do not have a fixed number of decimal places, you can use a ^ (caret) to separate the left fields from the right.

Whether the code is placed in the far or near position is determined by the use of _ (underscore). Most code characters will have their effect determined by which of these of fields they are located in. The following example shows how to use the field to determine exactly where to place parentheses to display negative numbers:

Number | Mask | Result
--- | --- | ---
    3.21
    C(__^__)
    "( 3.21 )"
    3.21
    C__(^__)
    " (3.21 )"
    3.21
    C(__^)__
    "( 3.21) "
    3.21
    C__(^)__
    " (3.21) "
    12345678
     12345678

### Examples

    <!--- This example shows the use of NumberFormat --->
    <HTML>
    <HEAD>
    <TITLE>
    NumberFormat Example
    </TITLE>
    </HEAD>

    <BODY BGCOLOR=silver>
    <H3>NumberFormat Example</H3>

    <CFLOOP FROM=1000 TO=1020 INDEX="counter">
    <CFSET CounterRoot2 = Evaluate(counter * sqr(2))>

    <!--- Show the result in default format, adding the comma
    for the thousands place, and also in custom format,
    displaying to two decimal places --->
    <CFOUTPUT>
    <PRE>#counter# * Square Root of 2: #NumberFormat(CounterRoot2,
       `_____.__')#</PRE>
    <PRE>#counter# * Square Root of 2: #NumberFormat(CounterRoot2)#</PRE>
    </CFOUTPUT>
    </CFLOOP>

    </BODY>
    </HTML>