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

PHP将带前导零的数字转换为字符串

樊令秋
2023-03-14

我还没有找到一个能解决PHP中整数到字符串转换这一方面的问题,所以
我有一个文件,其中一个字段包含一些长度为3、4或5位的数字,我需要将所有数字标准化为4位
如果数字是123、1234、12345,那么为了标准化,我在第一个数字后面加了一个零,第二个数字不加任何处理,第三个数字四舍五入:到目前为止还不错。问题在于,该文件包含一些具有有效前导零023、0234、02346的数字
我需要保留前导零,我希望输出为0230、0234、0235我想我可以强制该字段为字符串,如果它为零,则删除第一个字符,对剩余的数字进行计算,然后将数字左键填充为带前导零的字符串
问题在于,当我试图将带前导零的数字转换为字符串时,前导零似乎被解释为表示数字是八进制的
strval(0123)

我的任务是对源数据文件进行编辑,用散列替换任何前导零,使字段成为字符串。然后,我的过程变成:如果字段以#strip it开头,则进行计算,然后预加一个零。当然有更好的解决方案,也许是另一种读取文件的方式?我用的是fgetcsv

共有2个答案

汪晨
2023-03-14

您可以使用以下代码

$yourInt = 253;
$intWithZeros = sprintf("%05d", $yourInt); // result 00253

您可以在“ d”

漆雕嘉茂
2023-03-14

我会在你的数字上加上下一个最大的数字,即1,后跟0。

0672 --

得到1672

然后,将其转换为字符串,并再次将位置1处的字符更改为零。

那是我的方式。。。我对PHP非常陌生,所以可能有一个更复杂的答案,但如果其他方法都失败了,它就可以工作了。

 类似资料:
  • 编者按:此代码示例来自Rust 1.0之前的版本,并且在语法上是无效的Rust 1.0代码。此代码的更新版本会产生不同的错误,但答案仍然包含有价值的信息。 肯定有更好的方法将二进制字符串转换为十六进制字符串比这? 这样做的结果是 我用的是Rustc0.12。夜间

  • 长话短说(Java): convert的值现在为:888 0747 如何将字符串解析为长字符串,但保留前导零?

  • 问题内容: 我有以下JSON字符串,它是一个Objective C数组,然后编码为JSON: 我想将其转换为常规的PHP数组。我已经尝试了很多东西,但是似乎都没有用: 有任何想法吗? 编辑: 我仍然无法正常工作。 我需要这样做: 但是我想我需要在$ decodedEmails周围加引号才能起作用。如何在$ decodeEmails字符串周围添加引号? 问题答案: 您应该引用您的字符串,它可以正常工

  • 我已经研究了很多关于如何将PHP DateTime对象转换为String的网站。我总是看到"String to DateTime"而不是"DateTime to String" PHP DateTime可以被回显,但我想用PHP字符串函数处理我的DateTime。 我的问题是,如何使PHP dateTime对象成为从此类代码开始的字符串:

  • 问题内容: 我已经研究了很多站点,有关如何将PHP DateTime对象转换为String。我总是看到“从String到DateTime”而不是“从DateTime到String” 可以回显PHP DateTime,但是我想用PHP字符串函数处理DateTime。 我的问题是如何从这种代码开始使PHP dateTime对象成为字符串: 问题答案: 您可以使用该类的方法: 如果由于某种原因失败,它将