news 2026/6/19 14:05:10

踩坑:0.1+0.2≠0.3 与「金额用浮点」——前端后端谁来扛?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
踩坑:0.1+0.2≠0.3 与「金额用浮点」——前端后端谁来扛?

现象

金额展示差一分钱;汇总与明细对不上;接口 JSONnumber传递大额分。

根因

IEEE-754 二进制浮点无法精确表示十进制小数;金额若用 double 运算会累积误差。

常见踩坑

  • 全链路元 float加减乘除后再四舍五入。
  • 以为toFixed能修复一切(顺序错了照样漂移)。

解决

  • **整数分(厘)**long/bigint 运算,仅在展示层格式化。
  • 或用decimal 库(JavaBigDecimal、PythonDecimal、JSdecimal.js等)。
  • JSON 对外字符串金额或与前端契约最小货币单位整数

总结

金额要么整数最小单位,要么十进制库,不要让 float 管钱。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/19 14:02:58

用自定义数据集微调PP-OCRv5文本检测、识别模型

目录 1. 用PPOCRLabel标注数据 2. 搭建训练环境 2.1 拉取预安装 PaddlePaddle 的镜像 2.2 下载PaddleOCR源码 2.3 下载预训练模型 2.4 数据存放目录结构 2.5 用镜像构建并进入Docker容器 2.6 安装其余训练依赖 2.7 配置动态库搜索路径 3. 训练PP-OCRv5检测模型 3.1 …

作者头像 李华
网站建设 2026/6/19 14:02:03

华硕笔记本性能控制终极指南:5个核心模块彻底掌握G-Helper

华硕笔记本性能控制终极指南:5个核心模块彻底掌握G-Helper 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook…

作者头像 李华
网站建设 2026/6/19 14:00:00

MC68HC908AP LVI与Break模块详解:嵌入式系统稳定与调试的硬件基石

1. 项目概述:深入理解MC68HC908AP的守护者与侦察兵 在嵌入式系统,尤其是那些运行在严苛环境下的工业控制、汽车电子或便携设备中,系统的稳定性和可调试性是两个永恒的核心命题。稳定,意味着MCU(微控制器单元&#xff0…

作者头像 李华
网站建设 2026/6/19 13:44:24

如何在Mac上使用CXPatcher提升CrossOver游戏性能:终极优化指南

如何在Mac上使用CXPatcher提升CrossOver游戏性能:终极优化指南 【免费下载链接】CXPatcher A patcher to upgrade Crossover dependencies and improve compatibility 项目地址: https://gitcode.com/gh_mirrors/cx/CXPatcher 想要在Mac上流畅运行Windows游戏…

作者头像 李华
网站建设 2026/6/19 13:42:55

169.详解DDPM核心机制,手写简易U-Net完成MNIST图像生成

摘要 扩散模型(Diffusion Models)是当前生成式AI领域最前沿的技术之一,在图像生成、音频合成、分子设计等任务中展现了超越GAN和VAE的能力。本文从数学原理出发,逐步推导扩散模型的前向扩散与反向去噪过程,并给出一个完整的、可直接运行的PyTorch实现。文章涵盖DDPM(Den…

作者头像 李华