Converts a number from one specified unit of measure to another. Format F$CUNITS(number [,from-units, to-units])
1 – Return Value
A number representing the converted value.
2 – Arguments
number Specifies a 32-bit (or smaller) number to convert. from-units Specifies the unit of measure from which to convert. When only first argument is present, the default option for this field is BLOCKS. Supported options for this field are BLOCKS, B, KB, MB, GB, and TB. to-units Specifies the unit of measure to which to convert. When only first argument is present, or the second argument is BLOCKS, the default option for this field is BYTES and the result gets rounded off to appropriate "to-unit". Supported options for this field are BLOCKS, BYTES, B, KB, MB, GB, and TB. Keyword "BYTES" is supported only for BLOCKS to BYTES conversion.
3 – Example
$ WRITE SYS$OUTPUT F$CUNITS(1024) 512KB $ WRITE SYS$OUTPUT F$CUNITS(1024, "BLOCKS") 512KB $ WRITE SYS$OUTPUT F$CUNITS(1024, "BLOCKS", "BYTES") 512KB The above examples convert 1024 blocks to the equivalent in bytes and auto scale the output. The result is 512 KB. $ WRITE SYS$OUTPUT F$CUNITS(1024, "BLOCKS", "B") 524288B This example converts 1024 Blocks to non scaled bytes value. The result is 524288 Bytes. $ WRITE SYS$OUTPUT F$CUNITS (512,"B", "BLOCKS") 1BLOCKS This example converts 512 Bytes to the equivalent in Blocks. The result is 1 Blocks. $ WRITE SYS$OUTPUT F$CUNITS (10,"KB","B") 10240B This example converts 10 KB to the equivalent in Bytes. The result is 10240 Bytes. $ WRITE SYS$OUTPUT F$CUNITS (1024,"MB","GB") 1GB This example converts 1024 MB to the equivalent in GB. The result is 1 GB. $ WRITE SYS$OUTPUT F$CUNITS(512, "MB", "BLOCKS") 1048576BLOCKS This example converts 512 MB to the equivalent in BLOCKS. The result is 1048576 Blocks. "CONFLICT" warning message is displayed when keyword "BYTES" is used for other than "BLOCKS" to "BYTES" conversion. For example: $ WRITE SYS$OUTPUT F$CUNITS (512,"BYTES","BLOCKS") %DCL-W-CONFLICT, illegal combination of command elements - check documentation \BYTES\ $ WRITE SYS$OUTPUT F$CUNITS (10,"KB","BYTES") %DCL-W-CONFLICT, illegal combination of command elements - check documentation \BYTES\ The correct syntax to be used is as follows: $ WRITE SYS$OUTPUT F$CUNITS (512,"B", "BLOCKS") 1BLOCKS $ WRITE SYS$OUTPUT F$CUNITS (10,"KB","B") 10240B