Skip to main content

%Library.Decimal

Class %Library.Decimal Extends %DataType [ ClientDataType = DECIMAL, OdbcType = NUMERIC, SqlCategory = NUMERIC, System = 4 ]

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

Parameters

FORMAT;

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).

SCALE

Parameter SCALE As INTEGER = 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.

MAXVAL;

Parameter MAXVAL;

The maximum allowed logical value for the data type.

MINVAL;

Parameter MINVAL;

The minimum allowed logical value for the data type.

VALUELIST;

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.

DISPLAYLIST;

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.

XSDTYPE

Parameter XSDTYPE = "decimal";

Declares the XSD type used when projecting XML Schemas.

JSONTYPE

Parameter JSONTYPE = "number";

Methods

XSDToLogical

ClassMethod XSDToLogical(%val As %String) As %Numeric [ CodeMode = generator, ServerOnly = 1 ]

Converts the SOAP encoded input decimal value into a %Numeric value. Returns "" for error.

LogicalToJSON

ClassMethod LogicalToJSON(%val As %Decimal) As %String [ CodeMode = generator, ServerOnly = 1 ]

Converts the Objectscript value to the JSON number value.

DisplayToLogical

ClassMethod DisplayToLogical(%val As %String) As %Numeric [ CodeMode = generator, ServerOnly = 0 ]

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.

Normalize

ClassMethod Normalize(%val As %RawString) As %Numeric [ CodeMode = generator, ServerOnly = 1 ]

Converts %val to a normalized value.

IsValid

ClassMethod IsValid(%val As %RawString) As %Status [ CodeMode = generator, ServerOnly = 0 ]

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.

LogicalToDisplay

ClassMethod LogicalToDisplay(%val As %Numeric) As %String [ CodeMode = generator, ServerOnly = 0 ]

Converts the value of %val, which is in logical format, into a display string.

Returns the string value of %val.