# Coercing Integers to Strings

When evaluating expressions, integers are automatically coerced to strings where the expression implies a string is required and an integer is supplied.
```e.g.
a1	.set	123
fred	.set	"ABC " + a1 + " XYZ" 	; automatic coercion of integer to string

.db	fred

; is equivalent to
.db	"ABC 123 XYZ"

----------------------

Both operands of the - arithmetic operator are required to be integers
so automatic coercion to integer takes place if a string is supplied

2   - 1				yields	1
"2" - 1				yields	1
"2" - "1"			yields	1
2   - "1"			yields	1

----------------------

Both operands of the == comparison operator are required to be of the
same type (either both strings or both integer). The right hand operand
is automatically coerced to be of the same type as the left operand if
it is different.

2   == 1			left and right hand operands are integers
so perform integer EQUALS comparison which
yields 0

"2" == 1			left hand operand is string and right hand
operand is integer so coerce right hand operand
to string and perform string EQUALS comparison
which yields 0

"2" == "1"			left and right hand operands are strings
so perform string EQUALS comparison which
yields 0

2   == "1"			left hand operand is integer and right hand
operand is string so coerce right hand operand
to integer and perform integer EQUALS comparison
which yields 0

```
BEWARE:
Coercion from integer to string produces a variable length string corresponding to the decimal equivalent or the binary integer. To explicitly format the number in any other base or pad or truncate the number to a specific string length use the format operator.