RosettaCodeData/Task/Middle-three-digits/BASIC/middle-three-digits-2.basic

22 lines
413 B
Plaintext

REM >midthree
FOR i% = 1 TO 17
READ test%
PRINT test%; " -> "; FN_middle_three(test%)
NEXT
END
:
DATA 123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345
DATA 1, 2, -1, -10, 2002, -2002, 0
:
DEF FN_middle_three(n%)
LOCAL n$
n$ = STR$ ABS n%
CASE TRUE OF
WHEN LEN n$ < 3
= "Not enough digits"
WHEN LEN n$ MOD 2 = 0
= "Even number of digits"
OTHERWISE
= MID$(n$, LEN n$ / 2, 3)
ENDCASE