马黑PHP整站系统

     12
3456789
10111213141516
17181920212223
24252627282930
31      

[复位日记]

最新评论

飞飞
飞飞
悄然
了了
悄然

网站统计

·今日访问 : 376
·页面点击 : 492
·当前在线 : 39

2023年12月30日 星期六[阅读 89]

用JavaScript写一个普通级别的计算器会不会很难?答案是否定的。确实,很容易。

一般的思路是,将用户的输入弄成字符串计算式子,然后,用 eval 将式子作为函数内容执行,就得出结果。如果认为 eval 函数不安全,那可以用 new Function 替代,相对来说没啥问题。

不过会有一些问题要处理:

  1. 基于长数字串的排版问题
  2. 浮点数的计算精准度问题

排版问题容易,主要是通过CSS自动折行便好。

浮点数运算是JS的硬伤:由于内部机制问题,浮点数运算过程中底层将十进制转换为二进制再进行运算,期间可能出现转换不完美的情形,故而,计算的精准度会有偏差。一个经典例子就是 4.2*6,JS的运算会得出:

    25.200000000000003

官方推荐的解决方案是用 toFixed() 处理,比如 toFixed(2),计算结果取小数点后两位数。

2023': 前一则  下一年    

发表评论:

       

Copyright © 2023 All Right Reserved 马黑PHP文章管理整站系统v1.8
联系我们: gxblk@163.com