Selaa lähdekoodia

make fcvt decimal point location for zero make more sense

the (obsolete) standard allows either 0 or 1 for the decimal point
location in this case, but since the number of zero digits returned in
the output string (in this implementation) is one more than the number
of digits the caller requested, it makes sense for the decimal point
to be logically "after" the first digit. in a sense, this change goes
with the previous commit which fixed the value of the decimal point
location for non-zero inputs.
Rich Felker 11 vuotta sitten
vanhempi
sitoutus
983acebc8a
1 muutettua tiedostoa jossa 1 lisäystä ja 1 poistoa
  1. 1 1
      src/stdlib/fcvt.c

+ 1 - 1
src/stdlib/fcvt.c

@@ -16,7 +16,7 @@ char *fcvt(double x, int n, int *dp, int *sign)
 
 	if (n<=lz) {
 		*sign = i;
-		*dp = 0;
+		*dp = 1;
 		if (n>14U) n = 14;
 		return "000000000000000"+14-n;
 	}