RosettaCodeData/Task/Middle-three-digits/FreeBASIC/middle-three-digits.basic

33 lines
843 B
Plaintext

' FB 1.05.0 Win64
Function middleThreeDigits (n As Integer) As String
If n < 0 Then n = -n
If n < 100 Then Return "" '' error code
If n < 1000 Then Return Str(n)
If n < 10000 Then Return ""
Dim ns As String = Str(n)
If Len(ns) Mod 2 = 0 Then Return "" '' need to have an odd number of digits for there to be 3 middle
Return Mid(ns, Len(ns) \ 2, 3)
End Function
Dim a(1 To 16) As Integer => _
{123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -123451, 2, -1, -10, 2002, -2002, 0}
Dim As Integer i
Dim As String result
Print "The 3 middle digits of the following numbers are : "
Print
For i = 1 To 16
result = middleThreeDigits(a(i))
Print a(i), " => ";
If result <> "" Then
Print result
Else
Print "Error: does not have 3 middle digits"
End If
Next
Print
Print "Press any key to quit"
Sleep