处理小数精度丢失问题 import Fraction from fraction.js;如果有e小数问题先转成小数再转成字符串用Fraction处理Fraction参数里尽量处理成字符串。否则会丢失精度。另外如果是无限小数可以用分数表示。// 将科学计数法转为普通小数字符串 例把 7.85e-9 转成 0.00000000785 这个纯十进制字符串再传给 Fraction。 function scientificToDecimal(num) { // 利用 toLocaleString 或手动转换避免科学计数法 const str num.toString(); if (!str.includes(e)) return str; const [base, exp] str.split(e); const exponent parseInt(exp, 10); const digits base.replace(., ).replace(-, ); const isNegative num 0; const sign isNegative ? - : ; // 计算小数点位置 const baseDotIndex base.indexOf(.); const actualDotPos (baseDotIndex -1 ? base.length : baseDotIndex) exponent; let result; if (actualDotPos 0) { // 小数点在数字前面需要补零 result 0. 0.repeat(-actualDotPos) digits; } else if (actualDotPos digits.length) { // 小数点在数字后面是整数 result digits 0.repeat(actualDotPos - digits.length); } else { result digits.slice(0, actualDotPos) . digits.slice(actualDotPos); } return sign result; }用法let anew Fraction(scientificToDecimal(String(num)))let bnew Fraction(1, 3) //分数 1/3a.sub(b)

相关新闻

最新新闻

C++程序员转型AI开发的优势与实战指南

C++程序员转型AI开发的优势与实战指南

1. C程序员转型AI的独特优势与挑战 作为深耕C多年的老码农,当我第一次接触AI领域时,惊讶地发现那些看似神秘的神经网络、机器学习算法,本质上都是矩阵运算和数值计算——这不正是C程序员最擅长的领域吗?但转型路上也布满荆棘&…

2026/7/22 10:37:25
Unity角色动画控制:从Animation到Animator状态机实战指南

Unity角色动画控制:从Animation到Animator状态机实战指南

1. 项目概述:从Animation到Animator的进化之路 如果你是从Unity 4.x甚至更早版本一路走来的老开发者,或者刚入门时接触的是简单的 Animation 组件,那么当你第一次面对 Animator 控制器和状态机时,大概率会感到一阵头大。我最初…

2026/7/22 10:37:25
智能穿戴设备中的AI健康监测技术解析

智能穿戴设备中的AI健康监测技术解析

1. 可穿戴智能监测的技术背景与核心价值 手腕上那个不起眼的小设备,如今已经能完成十年前需要专业医疗仪器才能实现的功能监测。作为从业者,我见证了PPG(光电容积图)技术从实验室走向消费级的全过程。当前主流设备采用绿光LED搭配…

2026/7/22 10:37:25
GitHub热点速览与开发者工具链整合指南

GitHub热点速览与开发者工具链整合指南

1. GitHub热点速览:开发者每周必看每周三的GitHub热点速递已经成为全球开发者获取最新技术动态的固定仪式。作为全球最大的代码托管平台,GitHub每周都会涌现大量值得关注的开源项目、工具更新和技术趋势。对于开发者而言,及时掌握这些变化不仅…

2026/7/22 10:37:25
DMA控制器配置与中断管理实战:从寄存器手册到嵌入式开发避坑指南

DMA控制器配置与中断管理实战:从寄存器手册到嵌入式开发避坑指南

1. 从手册到实战:理解DMA控制器配置的核心逻辑在嵌入式开发领域,尤其是涉及高速数据流处理的项目里,直接内存访问(DMA)技术绝对是提升系统性能的“王牌”。很多工程师朋友拿到一份动辄上千页的芯片参考手册&#xff0c…

2026/7/22 10:37:25
Spring Boot整合MyBatis:高效Java持久层开发实践

Spring Boot整合MyBatis:高效Java持久层开发实践

1. Spring Boot与MyBatis整合概述在Java企业级应用开发中,Spring Boot和MyBatis的组合已经成为主流的持久层解决方案。Spring Boot通过自动配置和约定优于配置的原则简化了Spring应用的初始搭建和开发过程,而MyBatis则以其灵活的SQL映射能力和直观的XML配…

2026/7/22 10:32:25

月新闻