Функция int () в awk изменяет аргумент, даже если это уже целое число - PullRequest
1 голос
/ 09 октября 2019

Я не понимаю следующие два результата в awk

$ awk 'BEGIN {
  print    (log(.01)/log(10))
  print int(log(.01)/log(10))
}'
-2
-1

Версия:

$ awk --version 
GNU Awk 5.0.1, API: 2.0 (GNU MPFR 4.0.2, GNU MP 6.1.2)

1 Ответ

4 голосов
/ 09 октября 2019

Это больше, чем кажется на первый взгляд:

$ awk 'BEGIN {
  printf "%.16f\n", log(.01)/log(10)
}'
-1.9999999999999996
...