f32 toString emits extra decimals
Bug description
Calling toString on an f64 value works as expected, but doing the same on an f32 string introduces extra noise decimals. I suspect it is because the f32 value is being cast to f64 when passed into the dtoa function:
https://github.com/AssemblyScript/assemblyscript/blob/f79391c91a0875e98a6e887b3353210b4125dc87/std/assembly/number.ts#L317-L319
https://github.com/AssemblyScript/assemblyscript/blob/f79391c91a0875e98a6e887b3353210b4125dc87/std/assembly/util/number.ts#L734
Steps to reproduce
console.log((<f64>1.1).toString()); // "1.1"
console.log((<f32>1.1).toString()); // "1.100000023841858"
AssemblyScript version
v0.27.29
Perhaps not the cast itself, but rather dtoa is designed for 64-bit precision input value. If there were a 32-bit version of dtoa and its dependent functions, then it should be possible to emit "1.1" for an f32.