( krychek | 2020. 06. 06., szo – 11:40 )

Én ezt értem, de itt szó sincs stringként való összehasonlításról. Nem értem, hogy kanyarodtunk ide.
Ez az eredeti probléma:

mawk Ubuntu 20.04:

$ awk 'BEGIN { x=12.3; if(x==12.3) printf("true\n"); else printf("false\n");}'
true

$ echo "12.3" | awk '{ if($1==12.3) printf("true\n"); else printf("false\n"); }'
false

mawk Ubuntu 18.04:

$ awk 'BEGIN { x=12.3; if(x==12.3) printf("true\n"); else printf("false\n");}'
true

$ echo "12.3" | awk '{ if($1==12.3) printf("true\n"); else printf("false\n"); }'
true

gawk Ubuntu 20.04:

$ awk 'BEGIN { x=12.3; if(x==12.3) printf("true\n"); else printf("false\n");}'
true

$ echo "12.3" | awk '{ if($1==12.3) printf("true\n"); else printf("false\n"); }'
true

Miért false a második? Illetve ha elfogadjuk, hogy false a második, akkor miért true az első?
Bugos a mawk vagy nem?