【问题标题】:Limit the number of decimals writen (js)限制写入的小数位数(js)
【发布时间】:2016-05-18 13:48:21
【问题描述】:

我有一个小脑筋急转弯,一直困扰着我。 我无法控制脚本写入的小数位数。

HTML

<script type="text/JavaScript">
    <!--
    document.write($tekn_2_2/$tekn_2_1)
    //-->
</script>

JS

$tekn_2_1 = "28"
$tekn_2_2 = "7600"

我希望它返回值“271”而不是“271.42857142857144”。 抱歉,我知道这应该是一个小案例,但我可以做任何事情。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    编辑:最初我投票给了 toFixed,但不知道这个函数也是轮回的。看起来你只需要一个简单的地板。

    Math.floor($tekn_2_2/$tekn_2_1) == 271
    

    编辑:+1 为 Javascript:The Good Parts 它涵盖了诸如此类的基本操作。以简短但内容丰富的方式。

    http://www.amazon.com/JavaScript-Good-Parts-Douglas-Crockford/dp/0596517742

    【讨论】:

      【解决方案2】:
      document.write(Math.round($tekn_2_2/$tekn_2_1));
      

      【讨论】:

      • 这会对某些值进行四舍五入而不是删除小数点的不利影响。
      • toFixed() 返回字符串。从数学的角度来看,我不会仅仅因为我想将它写入文档而将任何数学结果直接转换为字符串。如果您想发现 toFixed 的陷阱,请了解更多信息 - *.com/questions/2861055/…
      • 好点我没有意识到 toFixed 也四舍五入。看起来我们当时都错了,Floor 是正确的答案。
      最近更新 更多