当前位置: 首页 > 知识库问答 >
问题:

PHP错误的轮精度

方博
2023-03-14

嗨!

我一直试图用PHP舍入一个数字,但我得到了一个精度错误。

$test = 53.974999994;
echo round($test, 2);

我想要的结果是53.98。

但这个代码给了我53.97。

谁能告诉我为什么?

谢谢!

共有2个答案

朱皓
2023-03-14

你能试试这个吗:

$test = 53.974999994;
echo round(round($test, 3), 2);

说明:

据提问的人说,重要的其实是点位后的前两位数,而在这种情况下,先把它舍入好像是3位数,然后再降为2位数,就达到了想要的。

轮($test,3)等于53.985,而轮(53.985,2)将给出53.99

雍光远
2023-03-14

我想代码运行得很好,但是你要找的结果是不同的,如果你想把一个数字舍入到百分之一,你必须在这个数字上取第三个小数,例如:53.974所以,新的数字是53.97,因为第三个小数不允许你把这个数字接近到53.98
看一下

如果你想做一些事情,比如:小数n近似小数n-1,依此类推。

你可以试试这样的东西

`

$test = 53.974999994;

function round_with_n_decimals($number, $decimals, $decimals_to_count){
    while($decimals_to_count >= $decimals){
        $number = round($number, $decimals_to_count);
        $decimals_to_count--;
    }
    return $number;
}

echo round_with_n_decimals($test, 2, 3);

`

 类似资料:
  • 我有一个java应用程序,它试图加载外部库,但我总是得到相同的异常。 这与32位JVM试图加载64位本机共享库有关。但是我的java版本是64位 谢谢

  • 本文向大家介绍PHP7中的PHP错误,包括了PHP7中的PHP错误的使用技巧和注意事项,需要的朋友参考一下 介绍 在版本7之前,PHP解析器用于报告各种情况下的错误。每个错误以前都是某种预定义的类型。PHP7改变了错误报告的机制。现在,大多数错误是通过引发错误异常来报告的,而不是传统的错误报告。 如果未处理错误异常,则会报告致命错误,并将像传统错误条件一样处理。PHP的错误层次结构从Throwab

  • 我的错误日志从nginx一直说: [错误]82305#0:*542243 connect()到unix:/var/run/php5 fpm。连接到上游时sock失败(146:连接被拒绝) 大约每30秒。然而,我的php-fpm日志在这个错误中没有显示任何内容。只有nginx显示日志。php-fpm的nginx配置如下: 编辑:刚刚为nginx和php fpm添加了完整配置: php fpm:

  • 问题内容: 我使用以下代码,它已成功将文件上传到本地计算机上。它在我的本地计算机上显示“成功上传”。 但是,当我在在线服务器上使用此代码时,它不会上传文件,而只会显示消息“未上传”。 我怎么知道问题出在哪里,如何将实际问题显示给用户? 问题答案: 检查Web服务器是否有权写入“ images /”目录

  • 我安装了nginx+php+mysql,我的phpmyadmin运行良好。 我下载了wordpress,然后我试着运行它,得到了错误: 我在php5-fpm.sock listen.mode、group、owner中搜索并尝试了所有更改,但仍然不起作用。 请帮助我如何解决这个关键问题。

  • 刚开始在pygame中的精灵碰撞。运行此代码时,会弹出一个属性错误,指出“组”对象没有属性 “rect”。我不知道为什么会发生此错误。建议?