Fix formatting of 0.0 with (#1210)

This commit is contained in:
Victor Zverovich 2019-06-30 06:54:41 -07:00
parent 9d97201ede
commit 260c115908
2 changed files with 2 additions and 1 deletions

View File

@ -685,7 +685,7 @@ FMT_API bool grisu_format(Double value, buffer<char>& buf, int precision,
FMT_ASSERT(value >= 0, "value is negative");
bool fixed = (options & grisu_options::fixed) != 0;
if (value <= 0) { // <= instead of == to silence a warning.
if (precision < 0 || !fixed) {
if (precision <= 0 || !fixed) {
exp = 0;
buf.push_back('0');
} else {

View File

@ -1452,6 +1452,7 @@ TEST(FormatterTest, FormatDouble) {
}
TEST(FormatterTest, PrecisionRounding) {
EXPECT_EQ("0", format("{:.0f}", 0.0));
EXPECT_EQ("0", format("{:.0f}", 0.1));
EXPECT_EQ("0.000", format("{:.3f}", 0.00049));
EXPECT_EQ("0.001", format("{:.3f}", 0.0005));