一种解决JavaScript中无限循环小数的算法

文档序号:6633464阅读:4078来源:国知局
一种解决JavaScript中无限循环小数的算法
【专利摘要】本发明涉及JavaScript【技术领域】,具体涉及一种解决JavaScript中无限循环小数的算法。本发明方法如下:1、获取需要进行运算的各数字及运算符;2、分析在正常数学运算与JavaScript中运算的结果;3、对正常运算是有限小数而JavaScript中出现无限循环小数的异常结果进行扩大;4、分步操作,对扩大后的运算结果进行同步缩小获取运算结果。本发明解决了由于JavaScript语言的特殊性,在正常的数学运算结果中是有限小数,而在JavaScript中却是无限循环小数的问题,提高了JavaScript在运算结果中的精确性,可广泛应用于JavaScript中的各种数字型运算。
【专利说明】—种解决JavaScript中无限循环小数的算法

【技术领域】
[0001]本发明涉及JavaScript【技术领域】,具体涉及一种解决JavaScript中无限循环小数的算法。

【背景技术】
[0002]JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,是一种动态类型、弱类型、基于原型的直译式脚本语言;同时也是一种广泛用于客户端Web开发的脚本语言;常用来给HTML(标准通用标记语言的子集)网页添加动态功能,比如响应用户的各种操作等。
[0003]由于其语言的特殊性,在一定程度上对数字之间的运算结果与其用正常的数学方式运算结果存在差异,影响结果的精度及精确性,从而影响业务处理的结果和用户体验。


【发明内容】

[0004]本发明解决的技术问题在于提供一种解决JavaScript中无限循环小数的算法。为用户提供一种更简捷、高效,更精确的运算方法。
[0005]本发明解决上述技术问题的技术方案是:
[0006]包含以下几个步骤:
[0007]步骤一、获取将要进行运算的各种数字及运算符;
[0008]步骤二、分析在正常数学运算与JavaScript中运算的结果;
[0009]步骤三、对正常运算是有限小数而JavaScript中出现无限循环小数的异常结果进行扩大;
[0010]步骤四、分步操作,对扩大后的运算结果进行同步缩小;
[0011]最后输出运算结果。
[0012]所述的步骤一中,获取业务处理中的各种数字参数,按其业务需求将数字参数以不同的运算符连接起来,组成运算式。
[0013]所述的步骤二中,将步骤一组成的运算式在JavaScript中进行运算,保存其运算结果,再以正常的数学方式进行计算得到结果,将两种运算结果进行对比分析。
[0014]所述的步骤三中,将两种运算对比分析的结果进行判断处理,若两种运算结果一致,则无需进行步骤四,直接输出结果;若正常的数学运算结果为有限小数,而在JavaScript中运算后出现无限循环小数,对运算结果进行扩大保存。
[0015]所述的步骤四中,分步操作,将步骤三中扩大后运算结果缩小到原扩大的位数,输出运算结果。
[0016]本发明通过对JavaScript中运算的结果进行判断分支处理,对与正常数学运算有异常的结果进行先扩大,然后再分步操作进行缩小,输出最后精确结果,解决了JavaScript在数字之间运算的精确性问题。

【专利附图】

【附图说明】
[0017]下面结合附图对本发明进一步说明:
[0018]附图是本发明方法流程框图。

【具体实施方式】
[0019]如图1所示,本发明具体包含以下几个步骤:
[0020]步骤一:获取业务处理中的数字参数,按其业务需求将数字参数以不同的运算符连接起来,组成运算式;
[0021]步骤二:以正常的数学运算的方式保存结果,再保存在JavaScript中运算的结果,分析对比两种运算的结果;
[0022]步骤三:将两种运算对比分析的结果进行判断处理,若两种运算结果一致,则直接输出运算结果,运算结束;若正常的数学运算结果为有限小数,而在JavaScript中运算后出现无限循环小数,对运算出无限循环小数的运算结果乘以10的η次方倍,为保证其精确性,η的值尽量大于4,进行扩大保存;
[0023]步骤四:与步骤三分步操作,将扩大后的运算结果缩小到原扩大的位数,输出运算结果,即可得到最精确的运算结果。
【权利要求】
1.一种解决JavaScript中无限循环小数的算法,其特征在于: 包含以下几个步骤: 步骤一、获取将要进行运算的各种数字及运算符; 步骤二、分析在正常数学运算与JavaScript中运算的结果; 步骤三、对正常运算是有限小数而JavaScript中出现无限循环小数的异常 结果进行扩大; 步骤四、分步操作,对扩大后的运算结果进行同步缩小; 最后输出运算结果。
2.根据权利要求1所述的解决JavaScript中无限循环小数的算法,其特征在于:所述的步骤一中,获取业务处理中的各种数字参数,按其业务需求将数字参数以不同的运算符连接起来,组成运算式。
3.根据权利要求1所述的解决JavaScript中无限循环小数的算法,其特征在于:所述的步骤二中,将步骤一组成的运算式在JavaScript中进行运算,保存其运算结果,再以正常的数学方式进行计算得到结果,将两种运算结果进行对比分析。
4.根据权利要求2所述的解决JavaScript中无限循环小数的算法,其特征在于:所述的步骤二中,将步骤一组成的运算式在JavaScript中进行运算,保存其运算结果,再以正常的数学方式进行计算得到结果,将两种运算结果进行对比分析。
5.根据权利要求1至4任一项所述的解决JavaScript中无限循环小数的算法,其特征在于:所述的步骤三中,将两种运算对比分析的结果进行判断处理,若两种运算结果一致,则无需进行步骤四,直接输出结果;若正常的数学运算结果为有限小数,而在JavaScript中运算后出现无限循环小数,对运算结果进行扩大保存。
6.根据权利要求1至4任一项所述的解决JavaScript中无限循环小数的算法,其特征在于:所述的步骤四中,分步操作,将步骤三中扩大后运算结果缩小到原扩大的位数,输出运算结果。
7.根据权利要求5所述的解决JavaScript中无限循环小数的算法,其特征在于:所述的步骤四中,分步操作,将步骤三中扩大后运算结果缩小到原扩大的位数,输出运算结果。
【文档编号】G06F9/44GK104461506SQ201410624768
【公开日】2015年3月25日 申请日期:2014年11月6日 优先权日:2014年11月6日
【发明者】丁继锋, 徐震宇, 孙傲冰, 季统凯 申请人:国云科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1