对系统的toFixed()方法的修正

toFixed(2)解决精度误差的方法 1.重定义toFixed(2)方法 function toFixed (d, n) {         var s = n + "";         if (!d) d = 0;         if (s.indexOf(".") == -1) s += ".";         s += new Array(d + 1).join("0");         if (new RegExp(... 阅读详情

if(typeof(Number.prototype.toFixed)!="function")
{
    Number.prototype.toFixed = function(d)
    {
        var s=this+"";if(!d)d=0;
        if(s.indexOf(".")==-1)s+=".";s+=new Array(d+1).join("0");
        if (new RegExp("^(-|//+)?(//d+(//.//d{0,"+ (d+1) +"})?)//d*$").test(s))
        {
            var s="0"+ RegExp.$2, pm=RegExp.$1, a=RegExp.$3.length, b=true;
            if (a==d+2){a=s.match(//d/g); if (parseInt(a[a.length-1])>4)
            {
                for(var i=a.length-2; i>=0; i--) {a[i] = parseInt(a[i])+1;
                if(a[i]==10){a[i]=0; b=i!=1;} else break;}
            }
            s=a.join("").replace(new RegExp("(//d+)(//d{"+d+"})//d$"),"$1.$2");
        }if(b)s=s.substr(1);return (pm+s).replace(//.$/, "");} return this+"";
    };
}

0.009.toFixed(2)本该返回0.01的结果,可它却返回了一个0.00,这是这个方法的一个BUG,且这个方法对客户端的JS版本要求有点偏高,至少在IE5.0里这个方法用不起来,所以我写了上面的一段修正代码,并且还解决了这个BUG的问题。若是想完全使用这个自定义的方法替代那个有BUG的系统方法的话,只需要去掉最外层的那个 if 判断就可以了。

案例:无人船测量点位数据+ArcGIS 10.6软件生成三维水下地形的两种方法 通常情况下,采用无人船进行水下地形测量,得到的是离散的,具有点号、日期、时间、东坐标(E)、北坐标(N)、水面高程、水下高程和水深等信息的点位数据,该数据一般由航带点位数据加水岸线组成,如下图所示: 原始点位数据格式如下: 下面讲解在ArcGIS软件中生成三维水下地形的两种常用方法。 一、构建不规则三角网(Tin) 1、创建Tin 生成的Tin: 2、Tin转栅格 Tin to Raster: 三维展示: 二、空间插值 栅格插值常用的方法有:克里... 阅读详情

相关推荐

华为防火墙双ISP出口实战:如何用策略路由实现电信联通流量自动切换(附配置截图)

本文详细解析了华为防火墙在双ISP环境下的智能选路技术,通过策略路由与健康检测的深度应用,实现电信联通流量的自动切换。文章包含实战配置截图,帮助企业解决切换延迟、路径劣化等核心挑战,提升业务连续性。

backprop5master的博客 644

Qt数据类型

界面显示保留n位小数 Label{ width:20 text :(10/5).toFixed(4) } 界面显示为2.0000 输入进行int验证 TextField{ width: 20 height: 10 text: 8 validator: IntValidator{ bottom : 0 ...

IEE2285的博客 842

基于STM32的宠物智能照护嵌入式系统设计

嵌入式系统是实现物联网终端设备本地化感知、决策与执行的核心技术载体,其关键在于多传感器融合、低功耗执行控制与轻量级云边协同。本文围绕环境监测(温湿度、烟雾、余粮)、机电执行(步进电机食盘、继电器风扇)和可靠通信(MQTT+ESP8266)三大技术主线,深入解析STM32F103在资源约束下的外设调度策略、ADC采样抗干扰设计、DHT11时序精准控制及HX711称重滤波算法等工程实践要点。系统强调本地闭环优先原则,确保离线基础功能可用,同时通过阿里云IoT平台实现远程监控与告警联动,为中小型智能硬件项目提供可

weixin_29155599的博客 296

toFixed()方法重写

      在js计算中,四舍五入保留小数的时候经常用到toFixed()方法,但是该方法存在着隐形的bug,就是在数字比较小的情况下,四舍五入会丢失精度。因此就需要重写toFixed()方法。本人在网络上搜索了2中比较有效的方法,供大家借鉴。若有更好的方法也希望大家给出指导。     1.自定义方法   toFixed2 : function(number, decimal) { ...

易大师不易 1415

ArcGIS天地图矢量化秘籍:用重分类+ArcScan高效提取建筑轮廓线

本文详细介绍了利用ArcGIS重分类和ArcScan技术高效提取天地图建筑轮廓线的半自动化流程。通过动态中断值计算、多级重分类策略和ArcScan高级矢量化技巧,显著提升城市规划中的矢量化效率与精度,适用于中级GIS用户。

weixin_30879169的博客 475

基于 STM32 的智慧图书馆智能控制系统设计与实现

智慧图书馆智能控制系统集成环境调控、安全监控、借阅管理与信息推送功能,通过 STM32 主控芯片联动传感器、执行器及云平台,实现图书馆智能化管理。系统架构分为感知层(传感器)、控制层(STM32 主控)、执行层(继电器 / 显示屏)及云端层(数据交互),支持温度自动调节、灯光自控、火情安防监控、天气推送及 RFID 借还书管理。本系统通过 STM32 实现多传感器融合与设备控制,结合 RFID 与云平台技术,构建了集环境智能调控、安全监控、便捷借阅于一体的智慧图书馆解决方案。

weixin_42300449的博客 2203

【Qt】Qt属性子系统

Qt 的属性子系统(Property System)是其元对象系统(Meta-Object System)的核心功能之一,允许开发者通过声明式语法为类添加动态属性,并在运行时通过元对象(QMetaObject)访问这些属性。

weixin_43510208的博客 1153

「深度学习之优化算法」笔记(二)优化算法的分类

但是由于生物的局限性,人们所创造出的算法也会有局限性:我们所熟知的生物都生存在三维空间,在这些环境中,影响生物生存的条件比较有限,反应到算法中就是这些算法在解决较低维度的问题时效果很好,当遇到超高维(维度>500)问题时,结果可能不容乐观,没做过实验,我也不敢乱说。当然,他们的目的不是在最佳狩猎位置集合,他们的目的是在过去的途中看是否能发现更加好的狩猎位置,去往已经到过的狩猎地点再次狩猎是没有意义的,因为每个位置获取食物的难易程度是固定的。如果他们的策略是“不跟随最优解”,那么他们的策略是什么呢?

quanzhan_King的博客 1371

js parsefloat 精度_javascript中的float运算精度

有人问到一个js问题:vari=0.07;varr=i*100;alert(r);结果为什么是7.0000000000000001?查了下资料,其实我们知道JavsScript中,变量在存储时并不区分number和float类型,而是统一按float存储。而javascript使用IEEE 754-2008标准定义的64bit浮点格式存储number,按照IEEE 754的定义: ht...

weixin_28869649的博客 493

FineReport实战-- 国内外各地区销售数据分析 多个图表联动

进行国内外各地区业务员销售数据分析是一项复杂但极具价值的任务,它可以帮助企业了解不同市场的表现,并据此调整销售策略以提高整体绩效。实现功能:同一个报表里面多个图表联动问题。

Davina_yu的博客 1201

Qt | linux+openCV+Qt6.5.3环境搭建成功版(带例子)

opencv安装 Qt 实战举例

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 1885

JS中toFixed()方法的四舍五入问题解决方法

最近发现JS当中toFixed()方法存在一些问题,采用原生的Number对象的原型对象上的toFixed()方法时,规则并不是所谓的“四舍五入”。 原文见https://www.cnblogs.com/wangsaiming/p/4644790.html <script ty...

chuozhantao8262的博客 2238

你分得清ChatGPT、Gemini、Grok、豆包、千问、DeepSeek、OpenClaw、CloudCode、vibeCodeing、sKill、MCP,飞书、微信这些到底是什么吗?

AI技术生态呈现层级化发展,从基础模型到应用平台形成完整技术栈。核心分为五层:模型层(GPT、Gemini等基础模型)→AI助手层(ChatGPT等应用产品)→工具层(ClaudeCode等开发工具)→协议层(MCP等接口标准)→应用层(微信、飞书等平台)。未来趋势将形成"模型公司-开发框架-应用生态"三层结构,AI正逐步演变为新型操作系统,通过标准化协议连接各类外部系统,实现能力调用与生态整合。技术发展呈现出从底层基础设施到上层应用场景的垂直整合特征。

hy行者勇哥的博客 398

JS的toFixed方法四舍五入修正,保证没问题

我们在用JS来格式化数字小数位数的时候,会用到JS的toFixed方法,但是这个并不是 四舍五入,而且四舍六入五成双(可以自行百度)。 当我们想修正此方法时,变成四舍五入时,网上搜到的方法都是这种, 但是下面的这个方法是有问题的 Number.prototype.toFixed = function(b) { var c = this,changenum, index; ...

小天先森_ 968

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

个人对于JavaScript中Number.toFixed()方法的理解

需求:对浮点数进行四舍五入精度获取。 问题:直接使用Number.toFixed()会出现异常的舍入情况。 原因:计算机浮点数存储是二进制,js的Number.toFixed()实际的精度确认规则是四舍六入五成双,逢四下舍,逢六入一,逢五时,根据浏览器内核计算结果也不尽相同。 具体原理这里不做详细描述,各位看官可自行查阅相关资料。 解决方法:重新Number.toFixed()方法。 实现原理:将...

明月如霜丶 2764

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

JS中toFixed()方法的问题及解决方案

JS中toFixed()方法的问题及解决方案

wangchaoqi1985的博客 564

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

JS中的toFixed()四舍五入方法

方法一: 在js中四舍五入的函数 toFixed(n) , n为要保留的小数位数。 n为0~20,当n超过20的时候,JS会出错。 如果小数点前和要截取的前一位都是0时,不会按常理截取。        var h=0.07        h.toFixed(1)的值为0.0 其实要解决这个问题,原来是不一定要重写js中的Number类型的toFixed方法的。

大爱无疆的疯子的博客 629

toFixed(n)`和`Math.round()

使用toFixed(n)当你需要结果有固定的小数位数,尤其是在格式化数字为字符串表示时(如财务计算),但记得它返回的是字符串。使用当你需要更精确地控制数字的四舍五入,特别是在计算中需要继续使用四舍五入后的数字作为数字类型时。选择哪种方法取决于你的具体需求,包括你希望结果的类型(字符串还是数字)、需要四舍五入到哪一位,以及对精度的要求。

weixin_53509819的博客 649

toFixed方法舎入不精确问题解决

问题:在使用tofixed对7.7245进行按四舍五入保留三位小数是,保留得到的结果为7.724 原因分析:tofixed方法的舎入和数学中“四舍五入”的舎入规则是不一样的,它实际上采用的是“四舍六入五取偶(四舍六入五留双)’的舎入规则,也就是所谓的银行家舎入规则 (银行家舎入规则:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一) 解决方法: //修正toFixed精度问题 toFixed(number,fractionDigits){//number为..

weixin_50004969的博客 930

JavaScript中toFixed的精度问题

MDN关于toFixed的讲解 地址为:Number.prototype.toFixed() 简单来说,toFixed() 方法使用定点表示法来格式化一个数。该数值在必要时进行四舍五入,另外在必要时会用 0 来填充小数部分,以便小数部分有指定的位数。 问题 toFixed()方法并不完全是四舍五入,toFixed的四舍五入是有问题的。示例如下(示例环境为chrome 62.0): ...

kylin_zdd的专栏 1863

javascript中的toFixed的修正

toFixed的情况说明:在某些值进行四舍五入的时候不能实现四舍五入;如下图所示:                             输出:   修正:        输出正常:    本文为博主原创文章,转载请在明显位置注明出处: http://www.cnblogs.com/hitwgs/ 转载于:https://www.cnblogs.com/hitwgs/p...

weixin_30642305的博客 155

js中toFixed ()函数重写。解决四舍五入错误问题

【代码】js中toFixed ()函数重写。解决四舍五入错误问题。

l15031138244的博客 1063

JS 使用toFixed()四舍五入保留两位小数

JS 使用toFixed()四舍五入保留两位小数

f的博客 631

toFixed的结果可能会“欺骗”人,用该方法不一定四舍五入

toFixed()` 是 JavaScript 中用于将数字转换为字符串并保留指定小数位数的方法。例如,`1.005` 实际存储为 `1.0049999999999998934`,导致四舍五入错误。`toFixed()` 会将数字四舍五入到指定的小数位数,并返回一个字符串。`digits`:指定小数位数,范围在 0 到 20 之间(包括 0 和 20)。// "123.4610"(price为字符串,即为字符串拼接!// "1.00"(预期是 "1.01")// "1.35"(预期是 "1.36")

2301_80649723的博客 563
上一篇: JavaScript极速狂飙:大容量字符型数组的快速检索
下一篇: Maxthon1.3.3版里一个令人哭笑不得的事
meizz
博客等级 码龄24年 1644粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值