RosettaCodeData/Task/Middle-three-digits/Gosu/middle-three-digits.gosu
2023-07-01 13:44:08 -04:00

13 lines
504 B
Text

var valid = {123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345}
valid.each(\ num ->print(middleThree(num)))
var errant = {1, 2, -1, -10, 2002, -2002, 0}
errant.each(\ num ->print(middleThree(num)))
function middleThree(x: int) : String {
var s = Math.abs(x) as String
if(s.length < 3) return "Error: ${x} has less than 3 digits"
if(s.length % 2 == 0) return "Error: ${x} has an even number of digits"
var start = (s.length / 2) - 1
return s.substring(start, start + 3)
}