formatting: change %.0f and %.0e to remove the radix character. It's more standard.

modern-harvey2
Jon Harper 2017-04-09 20:26:39 +02:00 committed by John Benediktsson
parent 756184607b
commit 4df21818f5
2 changed files with 11 additions and 9 deletions

View File

@ -35,10 +35,12 @@ IN: formatting.tests
{ "100000000000000000000000.000000" } [ 23 10^ "%f" sprintf ] unit-test
{ "1.2" } [ 125/100 "%.1f" sprintf ] unit-test
{ "1.4" } [ 135/100 "%.1f" sprintf ] unit-test
{ "2." } [ 5/2 "%.0f" sprintf ] unit-test
{ "4." } [ 7/2 "%.0f" sprintf ] unit-test
{ "2.e+00" } [ 5/2 "%.0e" sprintf ] unit-test
{ "4.e+00" } [ 7/2 "%.0e" sprintf ] unit-test
{ "2" } [ 5/2 "%.0f" sprintf ] unit-test
{ "4" } [ 7/2 "%.0f" sprintf ] unit-test
{ "2e+00" } [ 5/2 "%.0e" sprintf ] unit-test
{ "4e+00" } [ 7/2 "%.0e" sprintf ] unit-test
{ "1" } [ 1.0 "%.0f" sprintf ] unit-test
{ "1e+00" } [ 1.0 "%.0e" sprintf ] unit-test
{ " 1.23" } [ 1.23456789 "%6.2f" sprintf ] unit-test
{ "001100" } [ 12 "%06b" sprintf ] unit-test
{ "==14" } [ 12 "%'=4o" sprintf ] unit-test
@ -89,7 +91,7 @@ IN: formatting.tests
{ "987654321098765432" } [ 987654321098765432 "%d" sprintf ] unit-test
{ "987654321098765432.0" } [ 987654321098765432 "%.1f" sprintf ] unit-test
{ "987654321098765432." } [ 987654321098765432 "%.0f" sprintf ] unit-test
{ "987654321098765432" } [ 987654321098765432 "%.0f" sprintf ] unit-test
{ "9.8765432109876543200e+417" } [ 987654321098765432 10 400 ^ * "%.19e" sprintf ] unit-test
{ "9.876543210987654320e+417" } [ 987654321098765432 10 400 ^ * "%.18e" sprintf ] unit-test
{ "9.87654321098765432e+417" } [ 987654321098765432 10 400 ^ * "%.17e" sprintf ] unit-test
@ -109,7 +111,7 @@ IN: formatting.tests
{ "9.877e+417" } [ 987654321098765432 10 400 ^ * "%.3e" sprintf ] unit-test
{ "9.88e+417" } [ 987654321098765432 10 400 ^ * "%.2e" sprintf ] unit-test
{ "9.9e+417" } [ 987654321098765432 10 400 ^ * "%.1e" sprintf ] unit-test
{ "1.e+418" } [ 987654321098765432 10 400 ^ * "%.0e" sprintf ] unit-test
{ "1e+418" } [ 987654321098765432 10 400 ^ * "%.0e" sprintf ] unit-test
{ "1.5625" } [ 1.5625 "%d" sprintf ] unit-test
{ "1.9p0" } [ 1.5625 "%x" sprintf ] unit-test

View File

@ -34,12 +34,12 @@ IN: formatting
[ abs ] dip
[ 10^ * round-to-even >integer number>string ]
[ 1 + CHAR: 0 pad-head ]
[ cut* ] tri "." glue
[ cut* ] tri [ "." glue ] unless-empty
] curry keep neg? [ CHAR: - prefix ] when ;
: format-scientific-mantissa ( x log10x digits -- string )
swap - 10^ * round-to-even >integer
number>string 1 cut "." glue ;
number>string 1 cut [ "." glue ] unless-empty ;
: format-scientific-exponent ( log10x -- string )
number>string 2 CHAR: 0 pad-head
@ -64,7 +64,7 @@ IN: formatting
] if ;
: ?fix-nonsignificant-zero ( string digits -- string )
[ ".0" "." replace ] [ drop ] if-zero ;
[ ".0" "" replace ] [ drop ] if-zero ;
: format-scientific ( x digits -- string )
format-fast-scientific? [