• toFixed()一不小心踩了一个坑


    toFixed,多么简单的一个函数,昨天突发奇想做两道算法题练练手。结果,踩到了一个从未遇到的坑!

    简单来讲是要对输入的很多组数据,自己写一个函数做个处理,把每次函数处理的结果要相加求和。最后输出的结果要保留4位小数。题目不算难,因为我使用js做的,很多在线OJ也支持js的输入输出,所以呢,直接就想到了toFixed()函数来保留小数位。

    但是由于这里要对很多组数据处理,所以最开始我就把这些数据按组划分了,依次执行写好的功能函数。然后大概意思是res += ares代表最终要返回的结果,也就是相加求的和,a代表每次函数运行的结果。在我看似应该可以AC的程序,然而!意外发生了。

    比如我第一次函数得到的结果是0.1000, 第二次是0.1500,第三次是0.2000,我觉得应该输出0.4500可是最后OJ上输出结果,具体值我忘了,大概输出的值是这三个结果的字符串拼接?excuse me ? 拼接? why?来来回回看了好几次程序,这思路没有问题啊? 每次程序处理的console结果也是对的,可是为什么最后的结果是有问题的?

    ...
    ...
    ...
    ...
    冥思苦想中...
    ...
    ...
    ...

    最后发现, 每次执行功能函数的那个地方不能toFixed(),只能最后在相加的结果中做一次toFixed(),这样结果就是对了。
    orz~

  • 相关阅读:
    O2O、B2B、C2C(通俗讲解)
    前端 $.parseJson()
    django反向解析传参
    从url(地址栏)获取参数:Jquery中getUrlParam()方法的使用
    Django:前后端分离后联调给前端传数据
    xpath 中 [<Element a at 3985984dj343>]
    sumafan:python爬虫多线程爬取数据小练习(附答案)
    window安装mysql(详细步骤)
    sqlserver从xlsx读取数据
    第一个kotlin程序
  • 原文地址:https://www.cnblogs.com/Yfling/p/7105117.html
Copyright © 2020-2023  润新知