在COBOL中,可以使用以下兩種方法來比較數字字符的大小:
例如,下面的示例代碼比較了兩個數字字符變量A和B的大小:
IF A IS LESS THAN B
DISPLAY "A is less than B"
ELSE IF A IS GREATER THAN B
DISPLAY "A is greater than B"
ELSE
DISPLAY "A is equal to B"
END-IF
NUMVAL函數將數字字符轉換為對應的數值,并返回一個數值型的結果。可以使用這個結果來進行比較。
NUMVAL-C函數也將數字字符轉換為對應的數值,但是將結果存儲在一個特定的數據項中,而不是作為函數的返回值。可以使用NUMVAL-C函數將數字字符轉換為數值后,再將數值與其他數值進行比較。
以下是使用NUMVAL函數的示例代碼:
01 A PIC X VALUE '5'.
01 B PIC X VALUE '7'.
IF NUMVAL(A) < NUMVAL(B)
DISPLAY "A is less than B"
ELSE IF NUMVAL(A) > NUMVAL(B)
DISPLAY "A is greater than B"
ELSE
DISPLAY "A is equal to B"
END-IF
使用NUMVAL-C函數的示例代碼如下:
01 A PIC X VALUE '5'.
01 B PIC X VALUE '7'.
01 C PIC 9(2).
MOVE NUMVAL-C(A) TO C
IF C < NUMVAL-C(B)
DISPLAY "A is less than B"
ELSE IF C > NUMVAL-C(B)
DISPLAY "A is greater than B"
ELSE
DISPLAY "A is equal to B"
END-IF
以上是COBOL中數字字符比較大小的兩種常用方法,你可以根據需要選擇其中一種來使用。