后端返回双精度数据,前端如何处理?-灵析社区

kunkun小黑子

后端返回双精度数据,前端无法正常显示,js只支持浮点数。除了后台转字符串,前端循环添加toFixed,还有别的好的方法吗?

阅读量:156

点赞量:0

问AI
精度丢失问题?考虑用一下 "big.js" (https://link.segmentfault.com/?enc=%2FAky8LEoo%2FRNnjqW3gSySA%3D%3D.J1ws9rW4C8kdXbmOhnw6KO45ya7h7mr4%2FO9lxHqtxZem8sXBfgVKo0IFt0wxTVx%2B) 处理一下在使用咯。 其实前端用 "toFixed" 也会有 "银行家进位法" (https://segmentfault.com/q/1010000023505404) 相关的问题。 如果说是和金额有关的,可以直接扩大到小数点后第四位作为基准单位,也就是 "1.3" 使用 "13000" 来存储。这样运算就不会有问题了,显示的时候在单独去做处理。 如果有考虑大数运算溢出的话,可以适当缩小扩大倍数,或者考虑使用 "BigInt" (https://link.segmentfault.com/?enc=cQEX5RbLUFTlNAxvkE%2FwHQ%3D%3D.IwOpNXCecd7w8sYgLJkjUNSjzkReMyOGhZw2cwHLGp09kbWStKDOOZEEq2N3jpTMRaYjAFodlQfWxTNE8O%2Bm%2B0dQEQmkTly4%2F3W3FsJwI3KPpbQKDv84l7Ve79%2BNqtrV) 和开头提到的 "big.js"