Fix %e printing incorrect precision

For example, `%.2e` with 30.56 as the value would produce `30.60e+01`,
as opposed to C's printf producing `30.6e+01`.
This commit is contained in:
Feoramund
2024-05-09 18:37:34 -04:00
parent 5e149d2cae
commit 8c111f1baf
+1 -2
View File
@@ -104,8 +104,7 @@ generic_ftoa :: proc(buf: []byte, val: f64, fmt: byte, precision, bit_size: int)
} else {
switch fmt {
case 'e', 'E':
prec += 1
decimal.round(d, prec)
decimal.round(d, prec + 1)
case 'f', 'F':
decimal.round(d, d.decimal_point+prec)
case 'g', 'G':