今天在开发微信小程序商品购买功能时,出现错误提示:VM1848 WAService.js:2 TypeError: xxx.toFixed is not a function
根据提示信息的意思是找不到相应的函数,toFixed函数是JS自带的啊,肯定不会出现找不到函数这种问题呢。
查看了问题代码部分,写法是肯定没问题的,然后追踪了数据,原来是保留两位小数的值是字符串类型了,这不可能啊,保存数据库字段明明是float类型呢,然后查看了后端PHP代码,加了intval()函数去转换就没问题了。
这个想了想,应该是json_encode后把float类型直接转换成字符串类型了,然后就出现了开头的错误。
找到了问题所在就好办了,float类型通过intval函数去转换用来测试可以,但不能通过这样方法来解决问题,因为存float类型有可能会出现小数后的数值,如数据库保存10.80元,这样通过intval函数转换后值就直接成10元这样了。
在微信小程序端出问题,当然是在微信小程序端去解决,只要加个字符串转数值型即可,
js用保留两位小数前先用parseFloat函数把字符串类型转换成float类型后即可。
终于在第一次加载时就保存两位小数,如下图: