在php中添加两个数字并保留前导零

2024-02-15

我需要在 php 中添加数字而不更改数字格式,如下所示

$a = "001";  
$b = "5";  
$c = $a+$b;  

现在结果就像“6”,但如果我需要“006”$a是“01”那么结果应该是“06”。

Thanks


从技术上来说,$a and $b在你的例子中是strings http://php.net/manual/en/language.types.string.php- 当您对它们使用加法运算符时,它们会转换为integers http://php.net/manual/en/language.types.integer.php它不能保留前导零。更多的有关字符串到数字转换的详细信息请参阅手册 http://php.net/manual/en/language.types.string.php#language.types.string.conversion

像这样的东西就可以做到(假设带有前导零的正整数字符串)

#figure out how long the result should be
$len=max(strlen($a), strlen($b));

#pad the sum to match that length
$c=str_pad($a+$b, $len, '0', STR_PAD_LEFT);

如果您始终知道字符串必须有多长,则可以使用sprintf http://php.net/sprintf, e.g.

$c=sprintf('%03d', $a+$b);

Here, %引入一个占位符,03告诉它我们希望用零填充来填充至少 3 位数字,并且d告诉它我们正在格式化一个整数。

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

在php中添加两个数字并保留前导零 的相关文章

随机推荐

  • 模型继承和属性默认值

    我有一个带有类别属性和几个子类的主类 我想为每个子类设置默认类别 例如 class BaseAd models Model CATEGORY CHOICES 1 Zeta 2 Sigma 3 Omega category models In
  • 无法在准备好的 INSERT 语句中使用 python mysql.connector 中的 None (NULL) 值

    当尝试使用准备好的光标并插入时NULL重视mysql 连接器报错 mysql Error 1210 HY000 Incorrect arguments to mysqld stmt execute 这是准确显示这一点的代码 from fut
  • 如何在mysql的列之间进行搜索

    我有两列存储值 数字 如何选择给定数字在两列中的值之间的位置 例子 id col1 col2 1 20 50 2 200 400 3 500 650 如果我的值为 25 我如何选择值 25 位于它们之间的记录 在本例中为第 1 行 sele
  • C 或 C++ 中 >>= 的含义是什么?

    的含义是什么 gt gt C 或 C 中的符号 它有什么特别的名字吗 我有这个for循环一些 CUDA 代码 如下所示 for int offset blockDim x offset gt 0 offset gt gt 1 Some co
  • Numpy 将布尔数组的字符串表示形式转换为布尔数组

    是否有一种原生的 numpy 方法来转换布尔值的字符串表示数组 例如 True False True False 对于我可以用于屏蔽 索引的实际布尔数组 我可以做一个 for 循环来遍历并重建数组 但对于大型数组来说 这很慢 您应该能够进行
  • 验证插件未验证所有字段

    我正在使用 jQuery 验证插件进行表单验证 它只是检查第一个字段 如果第一个字段验证为真 则正在提交表单 它不验证其余字段 我正在使用引导程序3 0
  • 输入语句块时会创建新的堆栈帧吗? [复制]

    这个问题在这里已经有答案了 可能的重复 在 C 语言中 大括号充当堆栈框架吗 https stackoverflow com questions 2759371 in c do braces act as a stack frame int
  • Selenium:如何点击javascript按钮

    我必须编写一些用于自动测试的脚本 以检查使用 flex amf 技术构建的 Web 应用程序的加载时间 测试将包括打开 IE 浏览器 浏览多个选项卡 并测量从单击最后一个选项卡加载页面内容到关闭浏览器的时间 我使用 Selenium Web
  • RavenDB 索引错误

    我刚刚开始使用 Raven 我创建的索引始终无法索引任何内容 我在 Raven 服务器上发现了很多如下所示的错误 Index HomeBlurb IncludeTotalCosts Error Cannot implicitly conve
  • VB.NET 尝试将通用 Invoke 方法修改为通用 BeginInvoke 方法,出现意外问题

    VB NET 2010 NET 4 Hello 我一直在使用一种非常灵活的通用调用方法来从后台线程更新 UI 我忘记了从哪里复制它 从 C 将其转换为 VB NET 但它是 Public Sub InvokeControl Of T As
  • Reflection.Emit 和泛型类型

    我在用Reflection Emit我想创建一个与 C 中定义的以下类型等效的类型 class A public Tuple
  • 如何在 Mercurial 中添加远程存储库?

    我通过以下方式使用 Git 存储库 我在不同的生产机器上有主存储库和几个遥控器 我将生产代码推送到远程并重新启动服务以使更改生效 我即将从 Git 切换到 Mercurial 我想提前知道如何实现类似的目标 您将条目添加到 paths 本地
  • 优雅地从 has_many 中选择属性:通过 Rails 中的连接模型

    我想知道从 has many 中的连接模型选择属性的最简单 最优雅的方法是什么 通过关联 假设我们有具有以下 Item 类的 Items Catalogs 和 CatalogItems class Item lt ActiveRecord
  • 抽象工厂模式是否有“更多”的现实世界示例? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我目前正在研究OPP的设计模式 只是为了给您一些背景知识 这不是我第一次遇到这些模式 我已经编程了一段时
  • 在 Rails 中动态添加字段,无需嵌套属性

    我正处于创建应用程序的早期阶段 只是放置一些基本代码 这是当前的代码 应用程序 视图 卡片 front html erb routes controller cards do get front
  • 增加 AWS Elastic Beanstalk 上 Nginx conf 中的 client_max_body_size

    我遇到了 413请求实体太大 将大于 10MB 的文件发布到在 AWS Elastic Beanstalk 上运行的 API 时出现错误 我已经做了相当多的研究 并且相信我需要提高客户端最大主体尺寸对于 Nginx 但是我似乎找不到任何有关
  • Ant属性可以解析其他属性吗?

    Ant 属性可以通过属性文件设置 从属性文件解析其他属性吗 例如 我可以这样做
  • 如何在 Chrome 中调试 HTTP POST?

    我想查看在 Chrome 中发送的 HTTP POST 数据 数据现在已在内存中 我可以重新提交表单 我知道如果我重新提交服务器会抛出错误 我可以查看 Chrome 内存中的数据吗 转到 Chrome 开发者工具 Chrome 菜单 gt
  • 如何通过函数获取ng-style的多css规则?

    我需要将多 css 规则应用于角度表单模板中的 html 标签 div class form control data objectStyle title div 控制器中的 getStyle 函数 scope getStyle funct
  • 在php中添加两个数字并保留前导零

    我需要在 php 中添加数字而不更改数字格式 如下所示 a 001 b 5 c a b 现在结果就像 6 但如果我需要 006 a是 01 那么结果应该是 06 Thanks 从技术上来说 a and b在你的例子中是strings htt