在实际开发过程中,发现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);
则可以避免问题的发生
分享到:
相关推荐
在本文中,我们将深入探讨如何使用C语言编写一个支持小数和优先级计算的计算器程序。这个程序允许用户通过键盘输入数学表达式,包括小数,并根据运算符的优先级进行计算。 首先,理解“优先级小数”指的是在计算...
例如,将浮点型转换为整型时会丢失小数部分。 ```as3 var decimal:Number = 14.654; var decimal:int = 14.654; // 结果为14 ``` #### 12. 表达式计算 - **简化表达式**:简化复杂的数学表达式可以提高计算速度...
在上面的例子中,`formatter`被设置为保留两位小数的货币格式器。 #### 数据格排序 - **`executeSort`**: 该函数用于对数据格中的数据进行排序。首先创建一个`Sort`对象,并指定排序字段(如价格`price`),然后将...
Roy计算器.apk 除加减乘除外,还支持开方运算、幂运算、取模运算 1、开方运算 先输入数字,再点“√” 2、幂运算 ...3、取模运算 ...某些小数计算时,有效位过长(末尾好多0...) 作者邮箱:royliu90@live.cn
通过在Flex中使用MX组件和NumberFormatter类,以及自定义的labelFunction,我们可以灵活地对表格数据进行数字格式化,包括计算百分比和控制显示格式。这对于提升数据展示的准确性和用户体验非常有帮助。需要注意的是...
这种网页计算器通常使用HTML、CSS和JavaScript语言编写,为用户提供基本的数学运算功能,如加减乘除、小数运算、括号处理等。下面将详细介绍计算器网页的实现原理和相关技术知识点。 首先,HTML(HyperText Markup ...
在实际编程中,我们可以使用各种工具或库来实现词法分析,例如 Lex 或 Flex(用于正则表达式匹配),或者用 Python 的 re 模块编写自定义的词法分析器。 总结,编译原理中的词法分析是将高级语言转换为机器语言的...
浮点乘法作为数学运算中的基础操作,在各种计算密集型应用中扮演着重要角色。然而,由于浮点运算本身的复杂性,传统的FPGA平台通常只支持整数运算或简单逻辑操作。为了克服这一限制,本文提出了一种新的方法,通过...
常数则涵盖整数、小数和科学计数法。专用符号包括算术运算符、比较符、分隔符等。词法分析器的任务是将输入的源代码转换为内部表示,错误的词法规则应被检测并报告。 实验二涉及使用扫描程序生成器LEX(通常指的是...
在文档中,通过添加MSHFlexGrid控件并将其Name属性改为flex1,我们可以在界面上创建一个可交互的网格。 接着,文档提到了一个名为`EditKeyCode`的子程序,它用于处理MSHFlexGrid的键盘事件。这个子程序主要处理用户...
在实际开发中,通常会使用成熟的词法分析库,如Flex(Leslie Lamport的Fast Lexical Analyzer Generator)或手工编写解析器。 理解词法分析是学习C++编译原理的基础,通过这个过程,我们可以更好地理解代码是如何被...
5. JavaScript算术运算:'10'+1 结果为 '101',字符串与数字相加时,JavaScript会尝试将字符串转换为数字进行计算,但'10'被视为字符串,所以连接了'1'。'10'-1 结果为 9,因为JavaScript在减法操作中会自动将字符串...
在这个特定的项目"Calculator:网页计算器"中,开发者Brian Holt扩展了基本功能,添加了对'.'运算符的支持,使得用户可以进行小数运算。 **JavaScript基础知识** JavaScript是Web开发中的主要脚本语言,用于处理...
1.3 编写代码的位置:讨论了在Flash或Flex环境中编写ActionScript代码的不同位置,如时间轴、文档类等。 1.4 跟踪信息:讲解如何使用trace()函数输出调试信息,以便于开发过程中的问题排查。 1.5 处理事件:介绍了...
9. 数据格式化:在显示充值金额时,可能需要进行货币格式化,例如添加货币符号,保留小数位数等,这些可以通过JavaScript的内置函数或自定义函数实现。 综上所述,HTML用户充值页面充值中心模板是一个综合运用HTML...
例如,通过设置`display: flex`和`flex: 1`,可以轻松实现内容均匀分布的tab栏布局。尽管早期的Flexbox存在兼容性问题,但现在大多数移动端浏览器都支持旧版语法,使得Flexbox成为移动端布局的首选方案。 四、常见...
正确率是通过计算`100 * okCount / (okCount + errorCount)`得出的,并且使用`toFixed(2)`方法保留两位小数。 7. 效果图展示:虽然文档中提到有“效果图”但未直接提供,但可以推测,效果图展示了以上所有功能一起...
此外,根据需求,还可以增加对滑块变化的回调函数,以便在用户选择新的价格范围时立即显示或计算相关信息。 综上所述,"jQuery月供首付滑块选择代码"是一个利用jQuery和第三方库(如noUiSlider)实现的交互式组件,...
在Draftsman中添加了新的传输线结构表对象,该对象填充了来自层堆栈管理器的阻抗计算数据。 25784 添加了绘图符号对象,用于表示焊接和粘合点。 25785 改进了在Draftsman中添加文本的过程,只需单击鼠标即可在默认...