From: Jon Harper Date: Thu, 6 Jul 2017 21:36:29 +0000 (+0200) Subject: formatting: fix exception when formatting the integer 0 using "%e" X-Git-Tag: 0.98~740 X-Git-Url: https://gitweb.factorcode.org/gitweb.cgi?p=factor.git;a=commitdiff_plain;h=7c2e964fc9e86858724e740b0d1909b6162dde99 formatting: fix exception when formatting the integer 0 using "%e" --- diff --git a/basis/formatting/formatting-tests.factor b/basis/formatting/formatting-tests.factor index 3473fa11cb..543eff4fdd 100755 --- a/basis/formatting/formatting-tests.factor +++ b/basis/formatting/formatting-tests.factor @@ -36,6 +36,7 @@ IN: formatting.tests { "1.4" } [ 135/100 "%.1f" sprintf ] unit-test { "4" } [ 7/2 "%.0f" sprintf ] unit-test { "1" } [ 1.0 "%.0f" sprintf ] unit-test +{ "0.0e+00" } [ 0 "%.1e" sprintf ] unit-test { " 1.23" } [ 1.23456789 "%6.2f" sprintf ] unit-test { "001100" } [ 12 "%06b" sprintf ] unit-test { "==14" } [ 12 "%'=4o" sprintf ] unit-test diff --git a/basis/formatting/formatting.factor b/basis/formatting/formatting.factor index 54c131c191..388d5852c6 100644 --- a/basis/formatting/formatting.factor +++ b/basis/formatting/formatting.factor @@ -61,7 +61,7 @@ IN: formatting : format-fast-scientific? ( x digits -- x' digits ? ) over float? [ t ] [ 2dup - [ abs integer-log10 abs 308 < ] + [ [ t ] [ abs integer-log10 abs 308 < ] if-zero ] [ 15 < ] bi* and [ [ [ >float ] dip ] when ] keep ] if ;