RosettaCodeData/Task/Middle-three-digits/Elena/middle-three-digits.elena
2026-02-01 16:33:20 -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))
}
}