繁体   English   中英

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

[英]PHP Convert number with leading zeros to string

我一直找不到能解决PHP中整数到字符串转换这一方面的问题,所以...
我有一个文件,其中一个字段包含一些长度为3、4或5位的数字,我需要将所有数字标准化为4位。
如果数字是123、1234、12345,那么为了标准化,我在第一个后面添加零,对第二个不做任何操作,在第三个不做任何操作:round(12345/10)到目前为止很好。 问题在于文件中包含一些数字,这些数字的前导零为023、0234、02346。
我需要保留前导零,我希望输出为0230、0234、0235,我想我可以强制字段为字符串,如果第一个字符为零,则删除它,对剩余数字进行计算,然后左移-将数字填充为带前导零的字符串
当我尝试将前导零的数字转换为字符串时,前导零的问题似乎被解释为指示数字为八进制。
strval(0123)> 83
(字符串)0123> 83

我已经通过编辑源数据文件来完成此任务,以用哈希替换任何前导零,以便该字段成为字符串。 然后,我的过程变为:如果该字段以#开头,则将其剥离,然后进行计算,然后在前面加上零。 当然有更好的解决方案,也许以其他方式读取文件? 我正在使用fgetcsv

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

0672-> +1000

得到1672

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

那是我的方式...我对PHP还是很陌生,所以可能会有一个更复杂的答案,但是如果其他所有方法都失败了,那还是可以的。

您可以使用以下代码

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

您可以在"%05d"更改字符数,将其值更改为5

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM