javascript - PHP round($num,2) 和 javascript toFixed(2) 没有给出该值 53.955 的正确输出

标签 javascript php codeigniter php-5.6

我有一个 php 函数并且具有

phpans = round(53.955,2)

和 JavaScript 函数

var num  = 53.955;
var jsans = num.toFixed(2);
console.log(jsans);

jsans 和 phpans 都给出了不同的 $phpans = 53.96jsans = 53.95 。我不明白为什么会发生这种情况.. 感谢是提前

最佳答案

因为计算机无法正确表示 float 。可能是 53.95400000000009 或类似的东西。处理这个问题的方法是乘以 100,四舍五入,然后除以 100,这样计算机只处理整数。

var start = 53.955,
        res1,
        res2;
    
    res1 = start.toFixed(2);
    res2 = (start * 100).toFixed(0) / 100;
    console.log(res1, res2);

//Outputs
"53.95"
53.96

关于javascript - PHP round($num,2) 和 javascript toFixed(2) 没有给出该值 53.955 的正确输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43802830/

相关文章:

javascript - 如何使用模运算删除 ng-repeat 生成的未定义复选框?

codeigniter - 在 Codeigniter 的 index.php 页面中重定向

php - 如何自动同步mysql数据库和solr

codeigniter,如何避免由于路由配置不正确而导致重复的内容?

php - 如何访问 Twig 模板中的 JSON 数据?

javascript - php如何接收javascript发送的数据

javascript - 使用 Identity Server 4 和 ASP.NET Identity 添加外部登录

javascript - 在 javascript 中更改另一个输入时更改输入

php - MongoDB:$addToSet/$push 文件只有当它还不存在时

javascript - 如何从表单中选择操作页面,然后将值提交到该页面 HTML、PHP、Javascript