Conversion between strings and numbers
The conversion to string and numeric values occurs automatically in AWK as per demand. When any expression is built using anyoperator and operand, if the expression has a numeric valuebut the operator demands a string value, then the numeric value is automatically converted into a string and vice versa.If a numeric value appears in a string concatenation, it is converted to a string.
For example, in the following example, variables a
and b
are converted to strings first and then concatenated together. The resulting string is again converted back to number 45
, in which 4
is further added, and we get the output of the number 49
:
$ vi str2num.awk BEGIN { a=4; b=5; print ( a b ) + 4 ; } $ awk -f str2num.awk
The output of the execution of the preceding code is as follows:
49
Any string can be forcefully converted to a number by adding a 0
to it, as follow:
$ awk 'BEGIN{a="hello";print a+0 }'
The output of the execution of this code is as follows...