RosettaCodeData/Task/Middle-three-digits/Phix/middle-three-digits.phix
2017-09-25 22:28:19 +02:00

11 lines
365 B
Text

procedure mid3(integer i)
string s = sprintf("%d",abs(i))
integer k = length(s)-3
printf(1,"%10d: %s\n",{i,iff(k<0 or and_bits(k,1)?"error":s[k/2+1..k/2+3])})
end procedure
constant tests = {123,12345,1234567,987654321,10001,-10001,-123,-100,100,-12345,
1,2,-1,-10,2002,-2002,0}
for i=1 to length(tests) do
mid3(tests[i])
end for