|
|
View previous topic :: View next topic |
Author |
Message |
ratgod
Joined: 27 Jan 2006 Posts: 69 Location: Manchester, England
|
trouble getting leading zero's or spaces to show |
Posted: Tue Feb 24, 2009 10:15 am |
|
|
Hi There,
I have a PIC18F2580 attached to a 20x4 hitachi LCD, it all works fine and my code is pretty stable, but I am unable to display the leading zero's or spaces of a floating point number.
The information displayed should be lined up but its appears to not be.
the code I am using is:
Code: | lcd_gotoxy(15,4);
printf(lcd_putc,"%04.1f",temp); |
temp is a float, currently set at 16.0
here is my current display:
Code: | 11Kw ALARM 50.0Hz
Ph1 Ph2 Ph3
V 232.3 238.9 243.6
I 16.2 16.0 16.0
|
I have tried it without the 0, and it just shows the same value and is very much left aligned to column 15.
I would like to have all the decimal points line up on the screen
the value on the line above it is 243.6 but the decimal for 16.0 is under the 3.
I have tried different number formats but with no avail
I am using IDE and PCH version 4.071, I know CCS can be quirky at times, is this one of them?
thanks |
|
|
Ttelmah Guest
|
|
Posted: Tue Feb 24, 2009 11:24 am |
|
|
Your main problem, is that the number in front of the DP, in the format, is too small. In C, this is the _total field width_, not the number of digits in front of the decimal. So for your numbers with three leading digits (238.9 for example), this number needs to be 6, not 4. 6, since a numeric field in C, always has one leading space. So you need space, three digits, decimal, one digit. Total 6 characters wide.
The '0', _will_ appear, once the field is wider than the output. Leading zeros are _only_ displayed, when the number needs less digits than the field. So with the 6 used, you will get a leading zero, but at present, you won't.
Best Wishes |
|
|
ratgod
Joined: 27 Jan 2006 Posts: 69 Location: Manchester, England
|
|
Posted: Tue Feb 24, 2009 10:48 pm |
|
|
thanks Ttelmah,
That worked a treat, now it shows correct spacing.
it's this sort of thing you miss when you teach yourself programming languagees |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|