awk '{printf "%d\n", (1234.12*100)}' <<<""
outputs
123411
It is supposed to be 123412.
Awk version: GNU Awk 4.1.4, API: 1.1 (GNU MPFR 4.0.1, GNU MP 6.1.2)
What am I missing?
EDIT: Weird, I did more tests:
$ awk '{printf "%d\n", (0.12*100)}' <<<""
12
$ awk '{printf "%d\n", (1.12*100)}' <<<""
112
$ awk '{printf "%d\n", (12.12*100)}' <<<""
1212
$ awk '{printf "%d\n", (123.12*100)}' <<<""
12312
so far all good.
But then get wrong:
$ awk '{printf "%d\n", (1234.12*100)}' <<<""
123411
Other forms work:
$ awk '{print (1234.12*100)}' <<<""
123412
$ awk '{printf "%.0f\n", (1234.12*100)}' <<<""
outputs 123412
correctly.