Js 对小数的处理(科学计数法 , 显示精度)

后端大数在前端被转换为科学计数法,导致数值丢失问题解决 项目中前端JavaScript出现科学计数法,导致数据精度出现丢失的解决办法。 阅读详情

  对数字进行格式化输出,是非常有意义的一件事情,例如许多时候,我们希望一个数字能够输出为指定格式的字符串,拿25.9878来说,我们可能会希望它能保留两位小数来说出,即结果为25.99,或者对于0.345678,希望能够按百分号输出,并保留小数点后两位,即结果为34.57%,又例如我们希望将数字56456456按照科学计数法来显示,并保留小数点后两位,即结果为5.65e+7,类似例子当然还有很多。

   那么在Javascript标准之中,是否提供了对这些格式化输出的支持呢,可以说Javascript也提供了部分支持,但是提供的并部完善,具体你可以看一下Number对象的使用,里面提供了对数字的一些格式化输出,几个函数如下:

  toExponential([fractionDigits])   :将数字按科学计数法格式返回,其中的fractionDigits值小数点后保留的位数。

  toFixed([fractionDigits])   :将数字按指定的小数点位数返回,其中的fractionDigits值小数点后保留的位数。

  toPrecision([precision])   :将数字按指定的精度返回(这个精度不是指小数点后几位),其中precision是指定的精度值。

   如果你不会使用上面的函数,我简单给你举个例子:

   var num=56.45678;

   var rs1=num.toExponential(2);//rs1的值为5.65e+1

   var rs2=num.toFixed(2);//rs的值为56.45

   var rs3=num.toPrecision(2);//rs的值为56

   虽然说Number对象提供的这些方法能够解决不少的数字转化问题,但是对于许多情况还是不好满足的,例如对百分号的支持等等。

   为了解决这个问题,并提供更为强大和灵活的数字格式化要求,JsJava专门提供了的Javascript自定义类来进行支持,你可以下载jsjava-1.0.js,引用其中的src/jsjava/text/NumberFormat.js或者直接引用jslib/jsjava-1.0.js,举例如下:

<script src="js/jsjava/text/NumberFormat.js"></script>

<script src="js/jsjava/lang/StringBuffer.js"></script>

<script src="js/jsjava/lang/IllegalArgumentException.js"></script>

<script>

     var nf=new NumberFormat();

     nf.applyPattern("000.000%");

     var res=nf.format(-0.893566);

     document.write(res+"<br>");

     nf.applyPattern("0000.00");

     var res=nf.format(-53.385967);

     document.write(res+"<br>");

     nf.applyPattern("0000.000E00");

     var res=nf.format(53.385967);

     document.write(res+"<br>");

</script>

   显示结果为:

   -89.357%

   -53.39

   5338.597e-2

   JsJava是非常强大的,它是目前世界上最为全面的Javascript类库体系,使用JsJava,将更使你的界面脚本逻辑开发变得更加简单。

别再自己写消息提示了!5分钟用WPF+Material Design打造专业级Snackbar(支持.NET 6) 本文为WPF开发者提供了一份快速集成专业级Snackbar消息提示的实战指南。通过引入MaterialDesignThemes开源库,在.NET 6 WPF项目中,仅需5分钟即可告别传统的MessageBox,实现遵循Material Design规范、动画流畅、支持队列管理的非侵入式Snackbar控件,显著提升应用的用户体验与现代化交互水平。 阅读详情

相关推荐

使用运放构建电压跟随器

运放,是运算放大器的简称 运算放大器是用模拟电子器件(如晶体管,场效应管,二极管等)构成的模拟集成电路,其特点是有很高的放大倍数和抗干扰能力,因此可以被设计成各种用途的派生电路,如电压比较器、窗口电路、波形发生电路等等,其中也有电压跟随器。 电压跟随器是一种具有100%电压负反馈的放大器电路,其特点是输出电压的幅度和极性都与输入电压相同,所以叫跟随器。典型线路如图所示: 运放跟随器有输入阻抗高,而输出阻抗低的特性,一般来说,输入阻抗可以达到几兆欧姆,而输出阻抗低,通常只有几欧姆,甚至更低。 在电

Code for Coffee 5万+

js与科学计数法

讲解js在科学计数法中的应用

weixin_42274805的博客 2551

搭建微信机器人的方案都在这了!

功能超级强大,虽不支持二次开发,但已有的功能足够个人使用,可惜官方作品已被腾讯告死,好在市面上还流落着不少破解版,有需要的自行搜索。可惜的是,微信官方已不准许新的微信号再使用 web 登录,这就直接从源头扼杀了 web 协议的微信机器人,虽说老的微信号还是能凑合着用,不过部分功能也受限。所以,这些都属于 PC 端的微信机器人。无论是 PC 端还是手机端,用 hook 方式实现的最大缺点就是要和某一个版本的微信客户端进行绑定,如果框架本身不对最新版本的微信适配,那使用的时候就无法升级到最新版本的微信。

weixin_47246330的博客 1万+

【JavaScript】数据类型

数据类型

南栀的博客 1564

ENVI学习总结(十二)——基于改进的 CASA 模型反演 NPP

基于改进的 CASA 模型反演 NPP 数据为地理空间数据云提供的 TM 影像,其具体信息如图 1 所示。该实验中所使用的 TM 数据已进行过 QUAC 快速大气校正,来消除大气和光照等因素对地物反射的影响。Landsat 主题成像仪(TM)是 Landsat4 和 Landsat5 携带的传感器,每 16 天扫描同一地区,即 16 天覆盖全球一次。 TM 影像包含 7 个波段,波段 1-5 ...

Arcgiser的博客 3万+

从零到一:Gromacs伞形采样的实战避坑指南

本文详细介绍了Gromacs伞形采样技术的实战应用与避坑指南,涵盖核心原理、环境准备、参数设置、数据分析及性能优化等关键环节。特别针对蛋白质-配体结合自由能计算等典型应用场景,提供了弹簧常数设置、采样窗口间距等实用参数建议,帮助研究人员高效完成分子动力学模拟。

weixin_29243279的博客 516

js 处理科学计数法问题

js. 科学计数法

m0_44963501的博客 3042

Rocky Linux 9 离线环境Docker部署实战:从依赖打包到服务启动

本文提供了一份详尽的Rocky Linux 9离线环境Docker部署实战指南。针对无法访问外网的生产或内网服务器,文章详细讲解了如何在联网跳板机上下载Docker二进制包及所有系统依赖RPM包,并完成打包。随后,手把手指导在离线服务器上进行依赖安装、二进制文件部署、systemd服务配置、SELinux与防火墙调优,最终实现Docker服务的成功启动与验证。

weixin_28363123的博客 142

js科学计数法

function sinceCount(obj){//科學計數顯示 var num = (obj.next().find(".myJqmeterTarget").text()||0).toString(),result = ''; while(num.length > 3){ result = ','+num.slice(-3) + result; num = num.slic...

PJF1501105594的博客 3460

搞定ESD(九):静电放电之PCB设计

不同信号参考地平面应尽量保持完整,减小静电电流流过参考地平面时造成的电位差,防止电位差导致的信号传输电平错误.主芯片GPIO信号布线应保持最短化,减小与参考地平面之间的电场耦合,同时也防止因信号环路面积较大耦合静电放电噪声干扰。外部端子接地引脚顶层采用分地设计,最好是直接过孔到完整参考地平面接地,避免与顶层信号包地、其它包地相连,防止顶层串扰耦合到其它信号,造成ESD问题。

记得诚 1954

一种独特机理驱动的化学反应分类器详解

代码位置第 47-300+ 行// atom_494: 硫原子,度数=2,化合价=2,无H,无电荷!// atom_35: 氧原子,度数=1,1个H,无电荷// atom_347: 氧原子,度数=2,无H,无电荷!→atom_494()[OD1h1+0]→atom_35()→atom_347()特性传统方法(MCS)NameRXN(机理驱动)匹配策略最大公共子结构原子类型模式 + 操作码时间复杂度O(n) - 线性扫描机理理解无内置化学机理原子映射需额外计算自动推导准确性结构相似。

ASKCOS博客 160

js 中对数值的格式化问题

呵呵,经常遇到这种事情,觉得这个还可以,也就留着,以供以后查阅方便! 对数字进行格式化输出,是非常有意义的一件事情,例如许多时候,我们希望一个数字能够输出为指定格式的字符串,拿25.9878来说,我们可能会希望它能保留两位小数来说出,即结果为25.99,或者对于0.345678,希望能够按百分号输出,并保留小数点后两位,即结果为34.57%,又例如我们希望将数字56456456按照科学计数

alen0707的专栏 4999

31、贝叶斯认知建模与隐马尔可夫模型:理论与应用

本文探讨了贝叶斯认知建模与隐马尔可夫模型(HMM)的理论基础及其在认知科学和神经科学中的应用。重点介绍了贝叶斯定理和HMM的基本原理,并结合实际案例,如情绪识别系统和脑机接口(BCI),展示了它们在处理复杂认知任务中的强大能力。文章还讨论了贝叶斯-HMM模型的技术细节、优势与局限性,以及未来的发展前景。

meat5的博客 142

js保留两位小数

<script type="text/javascript"> //保留两位小数 //功能:将浮点数四舍五入,取小数点后2位 function toDecimal(x) { var f = parseFloat(x); if (isNaN(f)) { ...

diyunlin8849的博客 137

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

JavaScript实现进行保留小数点,四舍五入

JavaScript实现数字进行保留小数点,四舍五入扩展 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>floatDecimal.html</title> <meta http-equiv...

qq_43243541的博客 885

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

javascript保留两位小数

&lt;script type="text/javascript"&gt; //保留两位小数 //功能:将浮点数四舍五入,取小数点后2位 function toDecimal(x) { var f = parseFloat(x); if (isNaN(f)) { ...

weixin_33809981的博客 86

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

5-23数值

数值parseInt (字符串转换成数值)parseFloatNumber (任意类型)toFixed()toPrecision(2) parseInt (字符串转换成数值) 不存在四舍五入 返回首个对应的整数 parseInt("10 20 30 ") //10 parseInt("10 year ") //10 parseInt(“year 10”) //NAN parseFloat 与parseInt用法相同 Number (任意类型) Number(true) //1 Number(fa

web 148

JS保留小数点(四舍五入、四舍六入)实例

floatDecimal.html //保留两位小数 //功能:将浮点数四舍五入,取小数点后2位 function toDecimal(x) { var f = parseFloat(x);

Java in my life 2363

javascript 数字格式化

对数字进行格式化输出,是非常有意义的一件事情,例如许多时候,我们希望一个数字能够输出为指定格式的字符串,拿25.9878来说,我们可能会希望它能保留两位小数来说出,即结果为25.99,或者对于0.345678,希望能够按百分号输出,并保留小数点后两位,即结果为34.57%,又例如我们希望将数字56456456按照科学计数法来显示,并保留小数点后两位,即结果为5.65e+7,类似例子当然还有很多。 ...

weixin_30416871的博客 172

【Vue】JS处理科学计数法字符串

因为存在4.0E-12和4.0E+12,就是e前面可能是+ /- , 如果是e+12大于小数点之后的位数则应该是一个正整数,否则是一个小数,所以这里需要再进行一次格式化,判断是一个小数或者是一个整数,最简单的方式就是使用。parseInt(cell)==parseFloat(cell),如果相等则是整数,否则是小数。如果没用指定的精度,就想显示全部则可以把E后面的数字提取出来就可以了。如果有指定的精度precision,则直接使用。

慕白Lee的博客 3092

js处理科学计数法

js处理科学计数法 使用js自带的Number函数就可以 使用Number.toFixed cellValue = 4.0E-12 cellValue = Number(cellValue).toFixed(precision); 输出:以下是再chrom的调试模式下的console里面的输出 Number(4.0e-12).toFixed(12) "0.0000000000004...

看写写 7179
上一篇: 弹出层,div的写法
下一篇: 公司-->页面调用日期控件 WdatePicker日历控件使用方法
ole_triangle_java
博客等级 码龄10年 82粉丝 83原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值