`
libo_591
  • 浏览: 40129 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

flex小数计算

    博客分类:
  • FLEX
 
阅读更多

在实际开发过程中,发现FLEX在进行小数计算时,会出现精度问题。

为了测试上述假设成立,特有如下测试:

    var numA:Number = 5.5;
    for(var i:int = 0;i<10000;i++){
     numA+=0.1;
    }
    trace("result:>"+numA);
    
    var numB:Number = 1000.5;
    var numC:Number = -0.1;
    for(var j:int = 0;j<10000;j++){
     numB+=numC;
    }
    trace("result:>"+numB);

如果不存在精度问题,则应依次打印出:

result:>1005.5

result:>0.5

但是实际测试结果为:

result:>1005.5000000001601
result:>0.49999999984101495

证明了假设的成立,确认了flex在进行小数计算时,确实存在精度误差,其实在javascript,java等语言的计算中也存在此类问题。

解决办法:

在计算前,把小数相应的转化成整数,计算后,再转化回来

如下

    var numA:Number = 5.5;
    numA = numA *10;
    for(var i:int = 0;i<10000;i++){
     numA+=0.1*10;
    }
    numA = numA/10;
    trace("result:>"+numA);
    
    var numB:Number = 1000.5;
    numB = numB *10;
    var numC:Number = -0.1;
    for(var j:int = 0;j<10000;j++){
     numB+=numC*10;
    }
    numB = numB/10;
    trace("result:>"+numB);

则可以避免问题的发生

分享到:
评论

相关推荐

    jisuanqi.rar_优先级小数_小数优先级_计算器小数_键盘 小数

    在本文中,我们将深入探讨如何使用C语言编写一个支持小数和优先级计算的计算器程序。这个程序允许用户通过键盘输入数学表达式,包括小数,并根据运算符的优先级进行计算。 首先,理解“优先级小数”指的是在计算...

    flex优化全集 flex优化全集

    例如,将浮点型转换为整型时会丢失小数部分。 ```as3 var decimal:Number = 14.654; var decimal:int = 14.654; // 结果为14 ``` #### 12. 表达式计算 - **简化表达式**:简化复杂的数学表达式可以提高计算速度...

    flex学习笔记,技巧学习

    在上面的例子中,`formatter`被设置为保留两位小数的货币格式器。 #### 数据格排序 - **`executeSort`**: 该函数用于对数据格中的数据进行排序。首先创建一个`Sort`对象,并指定排序字段(如价格`price`),然后将...

    Roy计算器.apk(flex开发手机air应用)

    Roy计算器.apk 除加减乘除外,还支持开方运算、幂运算、取模运算 1、开方运算 先输入数字,再点“√” 2、幂运算 ...3、取模运算 ...某些小数计算时,有效位过长(末尾好多0...) 作者邮箱:royliu90@live.cn

    Flex中对表格某列的值进行数字格式化并求百分比添加%

    通过在Flex中使用MX组件和NumberFormatter类,以及自定义的labelFunction,我们可以灵活地对表格数据进行数字格式化,包括计算百分比和控制显示格式。这对于提升数据展示的准确性和用户体验非常有帮助。需要注意的是...

    计算器网页

    这种网页计算器通常使用HTML、CSS和JavaScript语言编写,为用户提供基本的数学运算功能,如加减乘除、小数运算、括号处理等。下面将详细介绍计算器网页的实现原理和相关技术知识点。 首先,HTML(HyperText Markup ...

    wmw.zip_编译原理 计算_计算器 词法

    在实际编程中,我们可以使用各种工具或库来实现词法分析,例如 Lex 或 Flex(用于正则表达式匹配),或者用 Python 的 re 模块编写自定义的词法分析器。 总结,编译原理中的词法分析是将高级语言转换为机器语言的...

    基于VHDL 语言的浮点乘法器的硬件实现

    浮点乘法作为数学运算中的基础操作,在各种计算密集型应用中扮演着重要角色。然而,由于浮点运算本身的复杂性,传统的FPGA平台通常只支持整数运算或简单逻辑操作。为了克服这一限制,本文提出了一种新的方法,通过...

    编译原理实验讲义

    常数则涵盖整数、小数和科学计数法。专用符号包括算术运算符、比较符、分隔符等。词法分析器的任务是将输入的源代码转换为内部表示,错误的词法规则应被检测并报告。 实验二涉及使用扫描程序生成器LEX(通常指的是...

    VB数据库编程中MSHFlexGrid控件用法详解.doc

    在文档中,通过添加MSHFlexGrid控件并将其Name属性改为flex1,我们可以在界面上创建一个可交互的网格。 接着,文档提到了一个名为`EditKeyCode`的子程序,它用于处理MSHFlexGrid的键盘事件。这个子程序主要处理用户...

    C++单词扫描程序(编译原理词法分析)

    在实际开发中,通常会使用成熟的词法分析库,如Flex(Leslie Lamport的Fast Lexical Analyzer Generator)或手工编写解析器。 理解词法分析是学习C++编译原理的基础,通过这个过程,我们可以更好地理解代码是如何被...

    58同城最新秋招前端笔试试题.docx

    5. JavaScript算术运算:'10'+1 结果为 '101',字符串与数字相加时,JavaScript会尝试将字符串转换为数字进行计算,但'10'被视为字符串,所以连接了'1'。'10'-1 结果为 9,因为JavaScript在减法操作中会自动将字符串...

    Calculator:网页计算器

    在这个特定的项目"Calculator:网页计算器"中,开发者Brian Holt扩展了基本功能,添加了对'.'运算符的支持,使得用户可以进行小数运算。 **JavaScript基础知识** JavaScript是Web开发中的主要脚本语言,用于处理...

    actionscript cook book 中文版

    1.3 编写代码的位置:讨论了在Flash或Flex环境中编写ActionScript代码的不同位置,如时间轴、文档类等。 1.4 跟踪信息:讲解如何使用trace()函数输出调试信息,以便于开发过程中的问题排查。 1.5 处理事件:介绍了...

    HTML用户充值页面充值中心模板.zip

    9. 数据格式化:在显示充值金额时,可能需要进行货币格式化,例如添加货币符号,保留小数位数等,这些可以通过JavaScript的内置函数或自定义函数实现。 综上所述,HTML用户充值页面充值中心模板是一个综合运用HTML...

    Web移动端布局那些事

    例如,通过设置`display: flex`和`flex: 1`,可以轻松实现内容均匀分布的tab栏布局。尽管早期的Flexbox存在兼容性问题,但现在大多数移动端浏览器都支持旧版语法,使得Flexbox成为移动端布局的首选方案。 四、常见...

    JavaScript实现单英文金山打字通

    正确率是通过计算`100 * okCount / (okCount + errorCount)`得出的,并且使用`toFixed(2)`方法保留两位小数。 7. 效果图展示:虽然文档中提到有“效果图”但未直接提供,但可以推测,效果图展示了以上所有功能一起...

    jQuery月供首付滑块选择代码

    此外,根据需求,还可以增加对滑块变化的回调函数,以便在用户选择新的价格范围时立即显示或计算相关信息。 综上所述,"jQuery月供首付滑块选择代码"是一个利用jQuery和第三方库(如noUiSlider)实现的交互式组件,...

    Altium Designer Beta 19.0.10完整版安装包+安装教程+和谐文件

    在Draftsman中添加了新的传输线结构表对象,该对象填充了来自层堆栈管理器的阻抗计算数据。 25784 添加了绘图符号对象,用于表示焊接和粘合点。 25785 改进了在Draftsman中添加文本的过程,只需单击鼠标即可在默认...

Global site tag (gtag.js) - Google Analytics