sprintf negative zero

Have very basic code:

int Counter = [-Whatever]
int Milimeter = Counter * 625;
sprintf(cstr, "%03d.%04d", Milimeter / 10000, abs( Milimeter % 10000));

Unfortunately when Milimeter / 10000 returns a negitive number under zero it does not add "-" to the beginning of the number, but I need this. How can I format the string properly?

for example Counter = -1 would display '000.0625' but I need '-00.0625'

Thanks.

Something like this?

sprintf(cstr, "%s%03d.%04d", Milimeter < 0 ? "-" : "", abs(Milimeter) / 10000, abs(Milimeter) % 10000);

Now is the time to use Serial.print() to show EACH of your intermediate results.

Paul

When doing integer divides, if abs(Milimeter)<10000 the result is always zero (the sign is irrelevant).

christop:
Something like this?

sprintf(cstr, "%s%03d.%04d", Milimeter < 0 ? "-" : "", abs(Milimeter) / 10000, abs(Milimeter) % 10000);

Thanks, didn't know that was possible. Exactly what I needed.