GNU bug report logs -
#7829
locale-related printf bug when using formats with thousands grouping character
Previous Next
Reported by: Eric Blake <eblake <at> redhat.com>
Date: Wed, 12 Jan 2011 13:51:02 UTC
Severity: normal
Tags: fixed
Done: Assaf Gordon <assafgordon <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
[redirecting to bug-coreutils]
On 01/12/2011 06:52 AM, Eric Blake wrote:
>> bash-4.1$ printf "%'.2f\n" 999999.9998071828
>> ,000,000.00
>>
> It appears that glibc fails to account for the fact that rounding may
> increase the number of result characters by 2 instead of 1 when %' is in
> effect (going from 999 to 1,000, at any power of 10*3).
>
> Please file a glibc bug, and in the meantime, gnulib should consider
> modifying the printf-posix family of modules to work around this
> rounding bug.
Ouch - coreutils' printf is also affected:
$ /usr/bin/printf %\'.2f\\n 999.9998 999999.9998 1000000
1000.00
,000,000.00
1,000,000.00
At least printf(1) already uses the xprintf-posix module, so hopefully
this gets fixed once gnulib works around the glibc bug.
--
Eric Blake eblake <at> redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
[signature.asc (application/pgp-signature, attachment)]
This bug report was last modified 6 years and 220 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.