php中的数字表示问题
这是一件简单的事情,但我没有得到答案。
我生成的自动生成 ID 与年份 100001、100002 连接起来,其中 10 是年份 0001 是自动生成编号。当我拆分年份和数字时,0001 的加法值为 2。但我需要 0002。
Adding value is 0001+1, 0002+1, 0010+1, 0099+1
Now the answer are 2, 3, 11, 100 like that
But i need like that 0002,0003,0011,0100
提前致谢。
It is a simple thing but i don't get answer for that.
I am generated auto generation id concatenate with year 100001, 100002 like that, in this 10 is year 0001 is auto generation numbers. When i split the year and number then getting add one value is 2 for 0001. but i need as 0002.
Adding value is 0001+1, 0002+1, 0010+1, 0099+1
Now the answer are 2, 3, 11, 100 like that
But i need like that 0002,0003,0011,0100
Thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
请参阅sprintf 手册。
See sprintf manual.
0001 不是一个数字,而是一个字符串。当您向它添加 1 时,PHP 将其转换为数字 (1),然后向其添加 1,因此最终得到 2。您要做的就是用 0 填充该数字,将其转换回字符串。您可以按照其他人的建议使用 sprintf 或 str_pad。
0001 is not a number, it's a string. When you add 1 to it, PHP converts it to a number (1), then adds 1 to it, so you end up with 2. What you want to do is pad the number with 0's, converting it back to a string. You can use sprintf, as others have suggested, or str_pad.
您可以使用旧的 sprintf 来格式化数字。
应打印“000001”。
文档: http://php.net/manual/en/function.sprintf.php< /a>
You can use good old sprintf to format numbers.
Should print "000001".
Documentation: http://php.net/manual/en/function.sprintf.php