Print a '-' sign for negative zero. Tested with

#include <stdio.h>
	int main(void)
	{
		printf("%+f\n", -0.0);
		printf("%+f\n", +0.0);
		printf("%+f\n",  0.0);
		return 0;
	}

to output
-0.000000
+0.000000
+0.000000

PR:		bin/41823
Submitted by:	GOTO Kentaro <gotoken@notwork.org>
Liked by:	bde
MFC after:	3 weeks
This commit is contained in:
schweikh 2002-08-27 20:11:08 +00:00
parent eef2c40d6e
commit 57bf7bbe3f

View File

@ -1409,13 +1409,8 @@ cvt(double value, int ndigits, int flags, char *sign, int *decpt,
ndigits++;
mode = 2; /* ndigits significant digits */
}
if (value < 0) {
value = -value;
*sign = '-';
} else
*sign = '\000';
digits = __dtoa(value, mode, ndigits, decpt, &dsgn, &rve,
dtoaresultp);
digits = __dtoa(value, mode, ndigits, decpt, &dsgn, &rve, dtoaresultp);
*sign = dsgn != 0;
if ((ch != 'g' && ch != 'G') || flags & ALT) {
/* print trailing zeros */
bp = digits + ndigits;