fix javascript float precision