










今天在開發(fā)微信小程序商品購買功能時,出現(xiàn)錯誤提示:VM1848 WAService.js:2 TypeError: xxx.toFixed is not a function
根據提示信息的意思是找不到相應的函數(shù),toFixed函數(shù)是JS自帶的啊,肯定不會出現(xiàn)找不到函數(shù)這種問題呢。
查看了問題代碼部分,寫法是肯定沒問題的,然后追蹤了數(shù)據,原來是保留兩位小數(shù)的值是字符串類型了,這不可能啊,保存數(shù)據庫字段明明是float類型呢,然后查看了后端PHP代碼,加了intval()函數(shù)去轉換就沒問題了。
這個想了想,應該是json_encode后把float類型直接轉換成字符串類型了,然后就出現(xiàn)了開頭的錯誤。
找到了問題所在就好辦了,float類型通過intval函數(shù)去轉換用來測試可以,但不能通過這樣方法來解決問題,因為存float類型有可能會出現(xiàn)小數(shù)后的數(shù)值,如數(shù)據庫保存10.80元,這樣通過intval函數(shù)轉換后值就直接成10元這樣了。
在微信小程序端出問題,當然是在微信小程序端去解決,只要加個字符串轉數(shù)值型即可,
js用保留兩位小數(shù)前先用parseFloat函數(shù)把字符串類型轉換成float類型后即可。
終于在第一次加載時就保存兩位小數(shù),如下圖: