Middle three digits: Difference between revisions

no edit summary
m (syntax highlighting fixup automation)
No edit summary
Line 5,893:
Input: -2002 Result: Not odd number of digits!
Input: 0 Result: Too few digits! </pre>
 
=={{header|Vlang}}==
<syntaxhighlight lang="vlang">import math
 
const
(
valid = [123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345]
invalid = [1, 2, -1, -10, 2002, -2002, 0]
)
 
fn main() {
for elem in valid {println(middle(elem))}
for elem in invalid {println(middle(elem))}
}
 
 
fn middle(num int) string {
mut strip := math.abs(num).str()
if strip.len < 3 {return 'Error: $num has less than 3 digits'}
if strip.len % 2 == 0 {return 'Error: $num has an even number of digits'}
start := (strip.len / 2) - 1
return strip.substr(start, start + 3)
}
</syntaxhighlight>
 
{{out}}
<pre>
123
234
345
654
000
000
123
100
100
234
Error: 1 has less than 3 digits
Error: 2 has less than 3 digits
Error: -1 has less than 3 digits
Error: -10 has less than 3 digits
Error: 2002 has an even number of digits
Error: -2002 has an even number of digits
Error: 0 has less than 3 digits
</pre>
 
=={{header|Wart}}==
291

edits