PHP 5.2.17 的 round() 模式 ROUND_HALF_DOWN

2024-02-21

我需要在 PHP 5.2.17 中模拟 ROUND_HALF_DOWN 模式 - 我无法升级服务器的 PHP 版本。有什么想法如何实现这一目标?

基本思想是 1.895 变成 1.89,而不是像通常使用 round() 那样变成 1.90。

编辑: 这个函数似乎可以解决问题:

function nav_round($v, $prec = 2) {
    // Seems to fix a bug with the ceil function
    $v = explode('.',$v);
    $v = implode('.',$v);
    // The actual calculation
    $v = $v * pow(10,$prec) - 0.5;
    $a = ceil($v) * pow(10,-$prec);
    return number_format( $a, 2, '.', '' );
}

您可以通过简单地转换为字符串并返回来进行作弊:

$num = 1.895;

$num = (string) $num;

if (substr($num, -1) == 5) $num = substr($num, 0, -1) . '4';

$num = round(floatval($num), 2);

EDIT:

这里以函数形式给出它:

echo round_half_down(25.2568425, 6); // 25.256842

function round_half_down($num, $precision = 0)
{
    $num = (string) $num;
    $num = explode('.', $num);
    $num[1] = substr($num[1], 0, $precision + 1);
    $num = implode('.', $num);

    if (substr($num, -1) == 5)
        $num = substr($num, 0, -1) . '4';

    return round(floatval($num), $precision);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 5.2.17 的 round() 模式 ROUND_HALF_DOWN 的相关文章

  • Doctrine DQL 从 join 返回平面数组

    我通过 DQL 中的常规 LEFT JOIN 选择 3 个实体 它们通过连接表关联 连接表还定义了实体以及带注释的关系 查询执行没有问题 但我的结果作为平面数组返回 我期望一个包含三个实体作为每个索引的数组元素的数组 SELECT e1 e
  • 如何使用配置文件 (.ebextensions) 在 AWS Elastic Beanstalk 上安装 PHP IMAP 扩展?

    有谁知道如何使用配置文件 ebextensions 在 AWS Elastic Beanstalk 上安装和启用 PHP IMAP 扩展 我使用的是 64 位 Amazon Linux 2017 03 v2 4 0 运行 PHP 7 0 1
  • PHP 正则表达式匹配字符串的最后一次出现

    我的字符串是 text1 A373R12345 我想找到该字符串最后出现的非数字数字 所以我使用这个正则表达式 0 9 然后我得到这个结果 1 A373 2 12345 但我的预期结果是 1 A373R 它有 R 2 12345 另一个例子
  • 垃圾邮件打败了我所有的验证码

    我有一个 WordPress 博客 我在上面使用验证码插件的时间最长 因为它有效 最近我收到了大量的垃圾邮件 然后我尝试执行通过 PHP 生成的 将这些随机数添加在一起 但仍然没有成功 我不太确定需要做什么来阻止这些垃圾邮件 但这很烦人 我
  • PHP 从命令行启动 gui 程序,但 apache 不启动

    首先 我阅读了有类似问题的人的一些帖子 但所有答案都没有超出导出 DISPLAY 0 0 和 xauth cookies 这是我的问题 提前感谢您的宝贵时间 我开发了一个小库 它使用 OpenGL 和 GLSL 渲染货架 过去几天我将它包装
  • 如何仅删除页面的自动段落格式,而不删除帖子的自动段落格式(WordPress)

    我已经熟悉这个在 WordPress 中删除自动段落格式的小技巧 remove filter the content wpautop remove filter the excerpt wpautop 但是添加这个函数 php删除整个网站的
  • PHP:将多字节字符串(单词)拆分为单独的字符

    尝试使用 mb split 将这个字符串 主楼怎么走 分割成单独的字符 我需要一个数组 但没有成功 有什么建议吗 谢谢你 例如 尝试使用带有 u 选项的正则表达式 chars preg split u string 1 PREG SPLIT
  • 使用 phpdocx 下载损坏的 .docx

    我有一个项目 我们使用 phpdocx pro 在模板中生成 docx 文件 我可以很容易地将数据输入到模板中 但是当下载文件并在 MS Word 2010 中打开时 程序报告无法打开文件 因为内容存在问题 详细信息是 文件已损坏 并且无法
  • 解析错误:语法错误,意外的 T_RETURN [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 遇到这个问
  • 这个巨大的正则表达式是如何工作的?

    我最近在我的一个目录中的一个名为的文件中找到了下面的代码doc php 文件功能或链接到文件管理器 做得非常好 基本上 它列出了当前目录中的所有文件 并且允许您更改目录 它可以访问我的所有文件 添加 重命名 信息 删除 我不记得安装过它 我
  • 在 Laravel 中的编辑表单上获取选定选项

    我的网站订单有一个可编辑的表单 并且有以下字段 User quantity note status 我在此表单中还有其他选项 但只有这些字段对我来说很重要 以便能够获取默认值 例如 我希望能够查看用户默认订购的数量 然后我可以更改它或保留它
  • Facebook iFrame 应用程序 - 摆脱垂直滚动条?

    我已经转换了一个 Facebook 应用程序 http apps facebook com video preferans 从 FBML 到 iFrame 使用 PHP SDK 现在显示的垂直滚动条与我之前显示的内容数量相同 一个徽标 一个
  • 纯基于网络的版本控制系统

    我的托管服务当前不允许在其服务器上运行 允许 svn git cvs 我真的希望能够将我的开发计算机上的当前源代码与我的生产服务器 同步 我正在寻找一个纯php python ruby版本控制系统 不只是一个client对于版本控制系统 不
  • PHP DOM - 剥离 span 标签,保留其内容

    我希望采用如下标记 span class test Some text that is strong bolded strong and contains a a href link a span 并在 PHP 中找到剥离跨度的最佳方法 剩
  • Laravel 从 API 响应中删除标头值

    Laravel 应用程序版本 5 6 我希望从 API 响应中显示的 Cache Control 标头中删除 private 值 我有一个中间件添加 无缓存 和 无存储 值 response next request response gt
  • 显示和随机化 php 数组

    我有一个显示结果的数组 如下所示 Array 0 gt 71 1 gt 56 2 gt 64 3 gt 82 4 gt 90 5 gt 80 6 gt 65 7 gt 62 8 gt 14 9 gt 3 我的代码是 while row my
  • PHP-docker容器中的环境变量

    我想在我的 docker 容器中显示一个环境变量 PHP 脚本如下所示 我使用 OpenShift 来启动容器 PHP 容器显示 env is 现在我更改容器的 dc 配置 oc env dc envar USER Pieter deplo
  • 扩展构建器中的“映射到现有表”显示 TYPO3 中的奇怪问题

    在我的扩展中MyExt 我映射了模型Page to pagesTYPO3 中的表 首先它向我展示了type mismatch错误 无论如何我继续保存它 会发生以下情况 我的页面树变成这样 我的新记录表单仅显示 UID 而不显示标题 My P
  • 设置大型电子邮件通知系统有哪些方法?

    我的公司有一个用 PHP 构建的网站 我们使用内置的 PHP 电子邮件功能每天向订阅者发送数千封电子邮件 这是一个糟糕的主意 它堵塞了我们的服务器 并且需要几个小时才能完成整个批次 现在我已经研究过像 MailChimp 这样的群发邮件服务
  • 使用 MYSQL 将 h:mm pm/am 时间格式插入数据库

    我正在尝试将以 h mm am pm 格式写入的时间插入到存储为标准 DATETIME 格式 hh mm ss 的数据库中 但我不知道如何将发布的时间转换为标准格式所以数据库会接受它 这是我到目前为止一直在尝试的 title POST in

随机推荐

  • 如何记录 Azure 服务总线访问?

    有没有办法记录对 Azure 服务总线的访问 我们正在寻找一种方法来记录谁在服务总线中创建 删除主题 订阅 命名空间 无论是从 Azure 门户还是从外部源 如 API 或 Service Bus Explorer We have Azur
  • “错误:没有 Overlay 提供程序!”

    In my Angular 2 0 0 rc 7 Angular Material 2 0 0 alpha 8 1应用程序构建Angular CLI 1 0 0 beta 11 webpack 9 1 升级后出现以下错误rc 5 alpha
  • AWS 相当于 Firebase 实时数据库的是什么?

    我目前正在开发一个新的游戏项目 该项目将由 React Native 前端和基于 Lambda 的后端组成 该应用程序需要一些实时功能 例如活动用户记录 地理围栏等 我正在研究 Firebase 的实时数据库 它看起来像是一个非常优雅的实时
  • Vim:使用 \_ 跨多行匹配字符串时。在正则表达式中,:yank 命令仅适用于第一行

    我想提取一些跨越多行的文本的多次出现 并且可以与单个 Vim 正则表达式匹配 使用元字符 不幸的是 尽管 Vim 中匹配的行被正确突出显示 当我在匹配的正则表达式后添加任何 Vim 命令 例如删除或拉取 时 该命令仅适用于每场比赛的第一行
  • 在这种情况下我应该如何舍入浮点数?

    由于同一浮点数可以有多种表示形式 我的代码中遇到了问题 例如 这些数字被认为是相同的 0 0299999400 0 0300000000 我不太关心大精度 我需要计算CRC这些数字的数量 它们应该是相同的 所以我的方法是使用以下代码 pri
  • 在超级项目中自动提交 git 子模块哈希

    当你在git子模块中提交时 你需要到超级项目中进行第二次提交 这是子模块的新哈希 这非常烦人 很容易忘记 如果您不这样做 可能会导致各种问题 我想做的是 提交我的子模块中的更改 在超级项目中自动提交哈希 将子模块和超级项目推送到其远程源 g
  • 优化多词编辑距离的速度

    我有一个元胞数组字典 其中包含很多单词 约 15000 个 我想计算函数strdist 计算 Levenshtein 距离 所有单词对 我尝试了两种方法 但它们都很慢 什么是更有效的解决方案 这是我的代码 dict keys 是我长度为 m
  • 使用 Nokogiri 插入和删除 XML 节点和元素

    我想提取 XML 文件的部分内容 并记下我提取了该文件中的某些部分 例如 此处提取了某些内容 我正在尝试使用 Nokogiri 来做到这一点 但似乎并没有真正记录如何 删除 a 的所有子项
  • 修剪字符字段

    我们目前使用的是 Delphi 和 Borland 数据库 我们计划从 borland 迁移到 Firebird 库 borland lib 有内存泄漏 我们现在遇到的问题是 Firebird 库返回一个带有尾随空格的字符 这是 borla
  • 实体框架表拆分:不在同一类型层次结构中/没有有效的一对一外键关系

    我使用实体框架 6 和代码优先方法 并且我希望将两个实体放入同一个表中 我究竟做错了什么 Table Review public class Review public int Id get set public PictureInfo P
  • 为什么Koala无法编译默认的Bootstrap 3 less文件?

    我正在努力学习 Bootstrap 3 及 Less 但在开始之前我就陷入了死胡同 经过两天的反复试验 我最终选择了Koala来将Less编译成CSS 我使用的是 Mac OS 10 7 所以 Codekit 已经出来了 现在只能在 8 上
  • Ruby 1.9 中的垃圾收集器调整

    我知道关于GC enable disable 但是有什么方法可以控制 Ruby1 9垃圾收集器更详细吗 在分析我的代码时 使用 perftools rb 我注意到 GC 最多占总样本的 30 我想看看是否可以调整 GC 以减少这个数字 是否
  • Java中的局部变量清空对GC有帮助吗

    我 被迫 添加myLocalVar null 在离开方法之前将语句放入finally子句中 原因是为了帮助GC 有人告诉我下次服务器崩溃时我会在晚上收到短信 所以我最好这样做 我认为这是毫无意义的 因为 myLocalVar 的范围仅限于方
  • 在 SQL 中多次连接同一个表[重复]

    这个问题在这里已经有答案了 我有一个表 每个 tran ref 列有 3 行或更多行 每行都有 amount 以及 tran id 以下是我的输入表 tran ref tran id amount T1 01 9 T1 02 8 T1 03
  • 如何将小数属性格式化为货币?

    我想将小数值格式化为货币值 我怎样才能做到这一点 属性可以返回它们想要的任何内容 但需要返回正确的类型 private decimal amount public string FormattedAmount get return stri
  • 一张图中的多个图

    我有以下代码 我想将相空间图组合成一个图形 我已经对这些函数进行了编码 但我不知道如何让 MATLAB 将它们放入一张图中 正如你所看到的 这是变量r a b and d这会改变 我如何将它们结合起来 我还想使用以下方法绘制这些相空间图的矢
  • C# 中的等效 char*

    我有一个用 C 编写的 dll 我正在 p invoking 来调用这些函数 我有这个 C 声明 int dll registerAccount char username char password 我已经完成了这个 dllimport
  • 在 C# 中处理整数溢出的最佳方法?

    处理整数溢出是一项常见任务 但在 C 中处理它的最佳方法是什么 是否有一些语法糖可以使其比其他语言更简单 或者这真的是最好的方法吗 int x foo int test x common if test common x Console W
  • LARAVEL 获取视图中 withErrors 的结果

    在我使用的控制器中 if validator gt fails return Redirect to admin profile gt withErrors validator gt withInput 如何在视图中获取 withError
  • PHP 5.2.17 的 round() 模式 ROUND_HALF_DOWN

    我需要在 PHP 5 2 17 中模拟 ROUND HALF DOWN 模式 我无法升级服务器的 PHP 版本 有什么想法如何实现这一目标 基本思想是 1 895 变成 1 89 而不是像通常使用 round 那样变成 1 90 编辑 这个