Commatizing numbers: Difference between revisions
Content added Content deleted
SqrtNegInf (talk | contribs) m (→{{header|Perl}}: slight simplification) |
|||
Line 504: | Line 504: | ||
$-140,000±100 millions. |
$-140,000±100 millions. |
||
6/9/1946 was a good year for some.</pre> |
6/9/1946 was a good year for some.</pre> |
||
=={{header|Julia}}== |
|||
{{trans|Perl}} |
|||
<lang julia>input = [ |
|||
["pi=3.14159265358979323846264338327950288419716939937510582097494459231", " ", 5], |
|||
[raw"The author has two Z$100000000000000 Zimbabwe notes (100 trillion).", "."], |
|||
[raw"-in Aus$+1411.8millions"], |
|||
[raw"===US$0017440 millions=== (in 2000 dollars)"], |
|||
["123.e8000 is pretty big."], |
|||
["The land area of the earth is 57268900(29% of the surface) square miles."], |
|||
["Ain\'t no numbers in this here words, nohow, no way, Jose."], |
|||
["James was never known as 0000000007"], |
|||
["Arthur Eddington wrote: I believe there are 15747724136275002577605653961181555468044717914527116709366231425076185631031296 protons in the universe."], |
|||
[raw" $-140000±100 millions."], |
|||
["5/9/1946 was a good year for some."]] |
|||
function commatize(tst) |
|||
grouping = (length(tst) == 3) ? tst[3] : 3 |
|||
sep = (length(tst) > 1) ? tst[2] : "," |
|||
rmend(s) = replace(s, Regex("$sep\\Z") =>"") |
|||
greg = Regex(".{$grouping}") |
|||
cins(str) = reverse(rmend(replace(reverse(str), greg => s -> s * sep))) |
|||
mat = match(Regex("(?<![eE\\/])([1-9]\\d{$grouping,})"), tst[1]) |
|||
if mat != nothing |
|||
return replace(tst[1], mat.match => cins) |
|||
end |
|||
return tst[1] |
|||
end |
|||
for tst in input |
|||
old = tst[1] |
|||
new = commatize(tst) |
|||
if old != new |
|||
println("$old\n$new\n") |
|||
end |
|||
end |
|||
</lang> {{output}} <pre> |
|||
pi=3.14159265358979323846264338327950288419716939937510582097494459231 |
|||
pi=3.14159 26535 89793 23846 26433 83279 50288 41971 69399 37510 58209 74944 59231 |
|||
The author has two Z$100000000000000 Zimbabwe notes (100 trillion). |
|||
The author has two Z$100.000.000.000.000 Zimbabwe notes (100 trillion). |
|||
-in Aus$+1411.8millions |
|||
-in Aus$+1,411.8millions |
|||
===US$0017440 millions=== (in 2000 dollars) |
|||
===US$0017,440 millions=== (in 2000 dollars) |
|||
The land area of the earth is 57268900(29% of the surface) square miles. |
|||
The land area of the earth is 57,268,900(29% of the surface) square miles. |
|||
Arthur Eddington wrote: I believe there are 15747724136275002577605653961181555468044717914527116709366231425076185631031296 protons in the universe. |
|||
Arthur Eddington wrote: I believe there are 15,747,724,136,275,002,577,605,653,961,181,555,468,044,717,914,527,116,709,366,231,425,076,185,631,031,296 protons in the universe. |
|||
$-140000±100 millions. |
|||
$-140,000±100 millions. |
|||
</pre> |
|||
=={{header|Kotlin}}== |
=={{header|Kotlin}}== |