in reply to Re^2: substitution "0" in decimals
in thread substitution "0" in decimals
Roughly speaking (my interpretation):
It's supposed to be transparent if you store a string or a number to a scalar. Operators try an interpretation of operands according to their type.¹
Storing a number is subject of normalization, since 042.2, 42.20 and 42.2 all represent the same number.²
But if you store a string by quoting these numbers no information loss is allowed, every zero is a valid character.
So by reassigning a numeric value ( + is a numerical operator) the number gets normalized.
Cheers Rolf
(1) Thats why perl has (at least) 2 flavors for many operators, e.g. eq and == (see Equality Operators) , OTOH Javascript uses + also for concatenation of strings causing many new problems inexistent in perl.
(2) which may cause new problems, since many dezimal fractions can't be represented as floats w/o a little information loss. (see Re: eq vs ==)
|
|---|