RosettaCodeData/Task/Middle-three-digits/Elena/middle-three-digits.elena
2024-03-06 22:25:12 -08:00

29 lines
701 B
Text

import system'routines;
import extensions;
middleThreeDigits(int n)
{
string s := n.Absolute.toString();
int len := s.Length;
if(len<3)
{
InvalidArgumentException.new("n must have 3 digits or more").raise()
}
else if(len.isEven())
{
InvalidArgumentException.new("n must have an odd number of digits").raise()
};
int mid := len / 2;
^ s.Substring(mid-1,3)
}
public program()
{
new int[]{123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345, 1, 2, -1, -10, 2002, -2002, 0}
.forEach::(n)
{
console.printLine("middleThreeDigits(",n,"):",middleThreeDigits(n) \\ on::(e => e.Message))
}
}