On Thursday 25 August 2016 09:34:34 Chris Good wrote: > Thanks for your reply. > It's annoying that identify doesn't use the locale decimal separator. > BTW, my locale is en_AU.UTF-8. > > Are you sure bash printf doesn't round? It does for me in Ubuntu, > although I was surprised to see 0.005 sometimes does not round up > (I guess it's just the typical floating point rounding problem). > printf "%.2f\n", 1.235 > 1.24 > printf "%.2f\n", 4321.235 > 4321.23 ###???### > printf "%.2f\n", 4321.2351 > 4321.24 > LC_ALL=nl_BE.UTF-8 printf "%.2f\n", 4321,235 > 4321,23 > LC_ALL=nl_BE.UTF-8 printf "%.2f\n", 4321,2351 > 4321,24 > > The 0.005 sometimes not rounding up will not be an issue for > adjust-dpi.sh as the numbers are a lot closed to the rounded value > than 0.005.
I can't reproduce the truncating behavior today. It rounds as you describe so I'll just forget about that. I probably got confused at some point. > > Anyway, I decided to use awk to strip the trailing > "(space) PixelsPerCentimeter" > and do the rounding in one step. > > When you get a chance (or some-else on Fedora 23?), could you please > test: echo 4321.159 | awk '{ printf("%.2f\n", $1) }' > 4321.16 > Works as expected. Good choice! > I'm also surprised to see my awk is also NOT using the locale decimal > separator: > $ LC_ALL=nl_BE.UTF-8 echo 4321,159 | awk '{ printf("%.2f\n", $1) }' > 4321.00 > LC_ALL=nl_BE.UTF-8 echo 4321.159 | awk '{ printf("%.2f\n", $1) }' > 4321.16 > > I've never before had to worry much about different locales - Oh well, > I'll get there :-) This seems to work fine in all locales. Thanks! Geert _______________________________________________ gnucash-devel mailing list gnucash-devel@gnucash.org https://lists.gnucash.org/mailman/listinfo/gnucash-devel