29 lines
940 B
Plaintext
29 lines
940 B
Plaintext
0 REM ROSETTACODE.ORG
|
|
1 REM N'TH
|
|
2 REM WRITE A FUNCTION/METHOD/SUBROUTINE/... THAT WHEN GIVEN AN INTEGER GREATER
|
|
3 REM THAN OR EQUAL TO ZERO RETURNS A STRING OF THE NUMBER FOLLOWED BY
|
|
4 REM AN APOSTROPHE THEN THE ORDINAL SUFFIX.
|
|
5 REM BASED ON APPLESOFT BASIC VERSION @ ROSETTACODE.ORG
|
|
6 REM
|
|
7 REM *************************
|
|
8 PRINT CHR$(14): REM CHANGE TO LOWER/UPPER CASE CHAR SET
|
|
9 OP = 1
|
|
10 FOR N = 0 TO 25 : GOSUB 100 : NEXT : PRINT
|
|
20 FOR N = 250 TO 265 : GOSUB 100 : NEXT : PRINT
|
|
30 FOR N = 1000 TO 1025 : GOSUB 100 : NEXT : PRINT
|
|
40 END
|
|
50 REM *************************
|
|
100 GOSUB 200
|
|
110 PRINT NTH$ " ";
|
|
120 RETURN
|
|
130 REM ************************
|
|
200 M1 = N - INT(N / 10) * 10
|
|
210 M2 = N - INT(N / 100) * 100
|
|
220 NTH$ = "TH"
|
|
230 IF M1 = 1 AND M2 <> 11 THEN NTH$ = "ST"
|
|
240 IF M1 = 2 AND M2 <> 12 THEN NTH$ = "ND"
|
|
250 IF M1 = 3 AND M2 <> 13 THEN NTH$ = "RD"
|
|
260 IF NOT OP THEN NTH$ = "'" + NTH$
|
|
270 NTH$ = STR$(N) + NTH$
|
|
280 RETURN
|