This is documentation for Caché & Ensemble.

For information on converting to InterSystems IRIS, see the InterSystems IRIS Adoption Guide and the InterSystems IRIS In-Place Conversion Guide, both available on the WRC Distributions page (login required).

Home > Class Reference > %SYS namespace > %Library.Decimal


datatype class %Library.Decimal extends %Library.DataType


The %Decimal data type class represents a fixed point number.

Method Inventory


parameter DISPLAYLIST;
Used for enumerated (multiple-choice) attributes. Used in conjunction with the VALUELIST parameter for enumerated (multiple-choice) attributes. DISPLAYLIST, if not null, represents the display values for the attribute corresponding with the logical values listed in VALUELIST.

The display values are returned by the LogicalToDisplay method.

parameter FORMAT;
The format specification for the data type's display value.

The value of FORMAT corresponds to the formatting option of the $FNUMBER function, which is used to perform the formatting. It is also possible to specify FORMAT = "AUTO" which means no formatting (otherwise the display value will be padded with zeroes up to the specified scale).

parameter MAXVAL;
The maximum allowed logical value for the data type.
parameter MINVAL;
The minimum allowed logical value for the data type.
parameter SCALE = 0;
The scale value (number of digits following the decimal point) for this data type. The logical value will be rounded to the specified number of decimal places.
parameter VALUELIST;
Used for enumerated (multiple-choice) attributes. VALUELIST is either a null string ("") or a delimiter separated list (where the delimiter is the first character) of logical values. If a non-null value is present, then the attribute is restricted to values in the list, and the validation code simply checks to see if the value is in the list.
parameter XSDTYPE = decimal;
Declares the XSD type used when projecting XML Schemas.


classmethod DisplayToLogical(%val As %String) as %Numeric
Converts the input value %val, which is a string representing a Decimal (fixed point) value, into a logical Decimal value.

Returns the value of the input string %val as a fixed point number.

classmethod IsValid(%val As %CacheString) as %Status
Tests if the logical value %val, which is a Decimal value, is valid. The validation is based on the class parameter settings used for the class attribute this data type is associated with. In this case, MAXVAL and MINVAL.
classmethod LogicalToDisplay(%val As %Numeric) as %String
Converts the value of %val, which is in logical format, into a display string.

Returns the string value of %val.

classmethod Normalize(%val As %CacheString) as %Numeric
Converts %val to a normalized value.
classmethod XSDToLogical(%val As %String) as %Numeric
Converts the SOAP encoded input decimal value into a Cache %Numeric value. Returns "" for error.