Fix it so that numbers containing inner zeros will be formatted correctly.
2001-02-18 Rusty Conover <rconover@zootweb.com> * gal/util/e-util.c (e_format_number): Fix it so that numbers containing inner zeros will be formatted correctly. For instance the number 5005 when formatted was coming out as 5,5. It now comes out at 5,005. svn path=/trunk/; revision=8272
This commit is contained in:
committed by
Rusty Conover
parent
3d8953cbd9
commit
cf479fb7dc
@ -627,9 +627,11 @@ e_format_number (gint number)
|
||||
int divider;
|
||||
char *value;
|
||||
char *value_iterator;
|
||||
int initial_grouping;
|
||||
|
||||
locality = localeconv();
|
||||
grouping = locality->grouping;
|
||||
initial_grouping = *grouping;
|
||||
while (number) {
|
||||
char *group;
|
||||
switch (*grouping) {
|
||||
@ -638,7 +640,11 @@ e_format_number (gint number)
|
||||
grouping++;
|
||||
case 0:
|
||||
divider = epow10(last_count);
|
||||
group = g_strdup_printf("%d", number % divider);
|
||||
if(!list && (number/divider) > 0) {
|
||||
group = g_strdup_printf("%0*d", initial_grouping, number % divider);
|
||||
} else {
|
||||
group = g_strdup_printf("%d", number % divider);
|
||||
}
|
||||
number /= divider;
|
||||
break;
|
||||
case CHAR_MAX:
|
||||
|
||||
Reference in New Issue
Block a user