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.