# RealStr

### Import List

        ConvTypes

Type Summary
ConvResults = ConvResults One of strAllRight, strOutOfRange, strWrongFormat, or strEmpty.

Procedure Summary
RealToEng(REAL, INTEGER, VAR ARRAY OF CHAR) Converts the value of real to floating-point string form, with sigFigs significant figures, and copies the possibly truncated result to str.
RealToFixed(REAL, INTEGER, VAR ARRAY OF CHAR) The call ``RealToFixed(real,place,str)`' assigns to str the possibly truncated string corresponding to the value of real in fixed-point form.
RealToFloat(REAL, INTEGER, VAR ARRAY OF CHAR) Assign to str the possibly truncated string corresponding to the value of real in floating-point form.
RealToStr(REAL, VAR ARRAY OF CHAR) If the sign and magnitude of real can be shown within the capacity of str, the call ``RealToStr(real,str)`' behaves as the call ``RealToFixed(real,place,str)`', with a value of ``place`' chosen to fill exactly the remainder of str.
StrToReal(ARRAY OF CHAR, VAR REAL, VAR ConvResults)

Constant Summary
strAllRight The string format is correct for the corresponding conversion.
strEmpty The given string is empty.
strOutOfRange The string is well-formed but the value cannot be represented.
strWrongFormat The string is in the wrong format for the conversion.

Type Detail

### ConvResults

    TYPE ConvResults = ConvResults

> One of strAllRight, strOutOfRange, strWrongFormat, or strEmpty.

Procedure Detail

### RealToEng

    PROCEDURE RealToEng(real: REAL;
                        sigFigs: INTEGER;
                        VAR str: ARRAY OF CHAR)

> Converts the value of real to floating-point string form, with sigFigs significant figures, and copies the possibly truncated result to str. The number is scaled with one to three digits in the whole number part and with an exponent that is a multiple of three. For example:

> >     value:   3923009     39.23009   0.0003923009
> >     sigFigs
> >     1        4E+6        40         400E-6
> >     2        3.9E+6      39         390E-6
> >     5        3.9230E+6   39.230     392.30E-6

### RealToFixed

    PROCEDURE RealToFixed(real: REAL;
                          place: INTEGER;
                          VAR str: ARRAY OF CHAR)

> The call ``RealToFixed(real,place,str)`' assigns to str the possibly truncated string corresponding to the value of real in fixed-point form. A sign is included only for negative values. At least one digit is included in the whole number part. The value is rounded to the given value of place relative to the decimal point. The decimal point is suppressed if place is less than ``0`'. For example:

> >     value:    3923009         3.923009   0.0003923009
> >     sigFigs
> >     -5        3920000         0          0
> >     -2        3923010         0          0
> >     -1        3923009         4          0
> >     0         3923009.        4.         0.
> >     1         3923009.0       3.9        0.0
> >     4         3923009.0000    3.9230     0.0004

### RealToFloat

    PROCEDURE RealToFloat(real: REAL;
                          sigFigs: INTEGER;
                          VAR str: ARRAY OF CHAR)

> Assign to str the possibly truncated string corresponding to the value of real in floating-point form. A sign is included only for negative values. One significant digit is included in the whole number part. The signed exponent part is included only if the exponent value is not 0. If the value of sigFigs is greater than 0, that number of significant digits is included, otherwise an implementation-defined number of significant digits. The decimal point shall is not included if there are no significant digits in the fractional part.

> For example:

> >     value:   3923009     39.23009     0.0003923009
> >     sigFigs
> >     1        4E+6        4E+1         4E-4
> >     2        3.9E+6      3.9E+1       3.9E-4
> >     5        3.9230E+6   3.9230E+1    3.9230E-4

### RealToStr

    PROCEDURE RealToStr(real: REAL;
                        VAR str: ARRAY OF CHAR)

> If the sign and magnitude of real can be shown within the capacity of str, the call ``RealToStr(real,str)`' behaves as the call ``RealToFixed(real,place,str)`', with a value of ``place`' chosen to fill exactly the remainder of str. Otherwise, the call behaves as the call ``RealToFloat(real,sigFigs,str)`', with a value of ``sigFigs`' of at least one, but otherwise limited to the number of significant digits that can be included together with the sign and exponent part in str.

### StrToReal

    PROCEDURE StrToReal(str: ARRAY OF CHAR;
                        VAR real: REAL;
                        VAR res: ConvResults)

Constant Detail

### strAllRight

    CONST strAllRight

> The string format is correct for the corresponding conversion.

### strEmpty

    CONST strEmpty

> The given string is empty.

### strOutOfRange

    CONST strOutOfRange

> The string is well-formed but the value cannot be represented.

### strWrongFormat

    CONST strWrongFormat

> The string is in the wrong format for the conversion.