fix js calculate precision issue