Ok, I can use float() to convert this array value into a number, and the calculation becomes right
but the strange thing, in another block Stats.at(Hardness,1) this value working as expected without float or anything
as for me, it is not right when this basic things working different in the different places