[adding bug-gnulib]
On 01/11/2011 08:40 PM, Andrew J. Schorr wrote:
> On Tue, Jan 11, 2011 at 10:31:26PM -0500, Andrew J. Schorr wrote:
>> Using gawk 3.1.8 on Fedora 13 64-bit linux, I see this:
>>
>> bash-4.1$ (echo 1000000; echo 999999.9998071828) | gawk -v "sq='" '{printf
>> "%" sq ".2f\n", $1}'
>> 1,000,000.00
>> ,000,000.00
>
> Actually, this may be a glibc bug:
>
> bash-4.1$ printf "%'.2f\n" 999999.9998071828
> ,000,000.00
>
> bash-4.1$ printf "%'.2f\n" 1000000
> 1,000,000.00> bash-4.1$ rpm -q glibc > glibc-2.12.1-4.x86_64 I concur, as running the same tests on both Solaris 10 and on Cygwin 1.7.7 under LC_ALL=en_US produced correct results. 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. -- Eric Blake [email protected] +1-801-349-2682 Libvirt virtualization library http://libvirt.org
signature.asc
Description: OpenPGP digital signature
