Middle three digits: Difference between revisions
Content added Content deleted
(→{{header|Scala}}: what the heck was that 'f"${v}%03d"' thing?) |
No edit summary |
||
Line 489: | Line 489: | ||
-2002: failure: need odd number of digits |
-2002: failure: need odd number of digits |
||
0: failure: need >= 3 digits |
0: failure: need >= 3 digits |
||
</pre> |
|||
=={{header|Perl}}== |
|||
<lang Perl>#!/usr/bin/perl |
|||
use strict ; |
|||
use warnings ; |
|||
sub middlethree { |
|||
my $number = shift ; |
|||
my $testnumber = abs $number ; |
|||
my $error = "Middle 3 digits can't be shown" ; |
|||
my $numberlength = length $testnumber ; |
|||
if ( $numberlength < 3 ) { |
|||
print "$error : $number too short!\n" ; |
|||
return ; |
|||
} |
|||
if ( $numberlength % 2 == 0 ) { |
|||
print "$error : even number of digits in $number!\n" ; |
|||
return ; |
|||
} |
|||
my $middle = int ( $numberlength / 2 ) ; |
|||
print "Middle 3 digits of $number : " . substr( $testnumber , $middle - 1 , 3 ) . " !\n" ; |
|||
return ; |
|||
} |
|||
my @numbers = ( 123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345 , |
|||
1, 2, -1, -10, 2002, -2002, 0 ) ; |
|||
map { middlethree( $_ ) } @numbers ; |
|||
</lang> |
|||
{{out}} |
|||
<pre>Middle 3 digits of 123 : 123 ! |
|||
Middle 3 digits of 12345 : 234 ! |
|||
Middle 3 digits of 1234567 : 345 ! |
|||
Middle 3 digits of 987654321 : 654 ! |
|||
Middle 3 digits of 10001 : 000 ! |
|||
Middle 3 digits of -10001 : 000 ! |
|||
Middle 3 digits of -123 : 123 ! |
|||
Middle 3 digits of -100 : 100 ! |
|||
Middle 3 digits of 100 : 100 ! |
|||
Middle 3 digits of -12345 : 234 ! |
|||
Middle 3 digits can't be shown : 1 too short! |
|||
Middle 3 digits can't be shown : 2 too short! |
|||
Middle 3 digits can't be shown : -1 too short! |
|||
Middle 3 digits can't be shown : -10 too short! |
|||
Middle 3 digits can't be shown : even number of digits in 2002! |
|||
Middle 3 digits can't be shown : even number of digits in -2002! |
|||
Middle 3 digits can't be shown : 0 too short! |
|||
</pre> |
</pre> |
||