Middle three digits: Difference between revisions
Content added Content deleted
(Added AppleScript.) |
(Added Wren) |
||
Line 5,054: | Line 5,054: | ||
(mid3 0) |
(mid3 0) |
||
=> nil</pre> |
=> nil</pre> |
||
=={{header|Wren}}== |
|||
{{libheader|Wren-fmt}} |
|||
<lang ecmascript>import "/fmt" for Fmt |
|||
var middle3 = Fn.new { |n| |
|||
if (n < 0) n = -n |
|||
var s = "%(n)" |
|||
var c = s.count |
|||
if (c < 3) return "Minimum is 3 digits, only has %(c)." |
|||
if (c%2 == 0) return "Number of digits must be odd, %(c) is even." |
|||
if (c == 3) return s |
|||
var d = (c - 3)/2 |
|||
return s[d..d+2] |
|||
} |
|||
var a = [123, 12345, 1234567, 987654321, 10001, -10001, -123, -100, 100, -12345, |
|||
1, 2, -1, -10, 2002, -2002, 0] |
|||
for (e in a) { |
|||
System.print("%(Fmt.s(9, e)) -> %(middle3.call(e))") |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
123 -> 123 |
|||
12345 -> 234 |
|||
1234567 -> 345 |
|||
987654321 -> 654 |
|||
10001 -> 000 |
|||
-10001 -> 000 |
|||
-123 -> 123 |
|||
-100 -> 100 |
|||
100 -> 100 |
|||
-12345 -> 234 |
|||
1 -> Minimum is 3 digits, only has 1. |
|||
2 -> Minimum is 3 digits, only has 1. |
|||
-1 -> Minimum is 3 digits, only has 1. |
|||
-10 -> Minimum is 3 digits, only has 2. |
|||
2002 -> Number of digits must be odd, 4 is even. |
|||
-2002 -> Number of digits must be odd, 4 is even. |
|||
0 -> Minimum is 3 digits, only has 1. |
|||
</pre> |
|||
=={{header|XPL0}}== |
=={{header|XPL0}}== |