diff --git a/internal/number/decimal.go b/internal/number/decimal.go
index f0a5777..f6828ef 100644
--- a/internal/number/decimal.go
+++ b/internal/number/decimal.go
@@ -99,10 +99,9 @@
 		buf = append(buf, "Inf"...)
 		return string(buf)
 	}
-	if len(x.Digits) == 0 {
-		return "0"
-	}
 	switch {
+	case len(x.Digits) == 0:
+		buf = append(buf, '0')
 	case x.Exp <= 0:
 		// 0.00ddd
 		buf = append(buf, "0."...)
diff --git a/internal/number/decimal_test.go b/internal/number/decimal_test.go
index b99fedc..5c81700 100644
--- a/internal/number/decimal_test.go
+++ b/internal/number/decimal_test.go
@@ -195,13 +195,10 @@
 		negModes := tc.modes
 		negModes[1], negModes[6] = negModes[6], negModes[1]
 		for i, res := range negModes {
-			if res != "0" {
-				negModes[i] = "-" + res
-			}
+			negModes[i] = "-" + res
 		}
-
 		for i, m := range modes {
-			t.Run(fmt.Sprintf("v:%s/n:%d/%s", tc.x, tc.n, m), func(t *testing.T) {
+			t.Run(fmt.Sprintf("x:%s/n:%d/%s", tc.x, tc.n, m), func(t *testing.T) {
 				d := mkdec(tc.x)
 				d.round(m, tc.n)
 				if got := d.String(); got != tc.modes[i] {
@@ -224,9 +221,7 @@
 					t.Errorf("neg decimal: got %q; want %q", d.String(), want)
 				}
 
-				if f = mkfloat(tc.x); f != 0 {
-					f = -f // avoid creating -0.0
-				}
+				f = -mkfloat(tc.x)
 				f = m.roundFloat(f/mult) * mult
 				if got := fmt.Sprintf("%.0f", f); got != negModes[i] {
 					t.Errorf("neg float: got %q; want %q", got, negModes[i])
@@ -257,6 +252,8 @@
 		{uint32(234), scale2, "234"},
 		{uint64(234), scale2, "234"},
 		{uint(234), scale2, "234"},
+		{-0.001, scale2, "-0"},
+		{-1e9, scale2, "-1000000000.00"},
 		{0.234, scale2, "0.23"},
 		{0.234, scale2away, "0.24"},
 		{0.1234, prec3, "0.123"},
diff --git a/internal/number/format.go b/internal/number/format.go
index 12553b6..2985ef5 100755
--- a/internal/number/format.go
+++ b/internal/number/format.go
@@ -190,7 +190,7 @@
 		}
 	}
 
-	neg := d.Neg && numInt+numFrac > 0
+	neg := d.Neg
 	affix, suffix := f.getAffixes(neg)
 	dst = appendAffix(dst, f, affix, neg)
 	savedLen := len(dst)
@@ -289,7 +289,7 @@
 	} else {
 		intDigits = digits
 	}
-	neg := d.Neg && len(digits) > 0
+	neg := d.Neg
 	affix, suffix := f.getAffixes(neg)
 	dst = appendAffix(dst, f, affix, neg)
 	savedLen := len(dst)
