【发布时间】:2016-10-28 14:04:35
【问题描述】:
我想知道是否可以在 javascript 或 php 或其他任何东西中执行此操作。
我想创建一个以 001000 开头的发票编号,现在要获得下一个发票编号,我需要通过添加 1 来增加它,但是当我尝试在 php 中执行此操作时。它只是将其转换为一个数字,这不好,因为我需要 00 前缀。在javascript中。它只是将1 添加到末尾。
我知道可以使用正则表达式来完成,但我不知道如何。
编辑:这是我想要实现的发票顺序。
- 001000
- 001001
- 001002
当它到达009999 时,它应该是010000
请帮忙。
已解决:
正如斯宾塞所说,我使用了 str_pad 。
php
$last_invoice = Quote::all()->last()->invoice + 1; // to convert it to number.
str_pad( ($last_invoice, 6, '0', STR_PAD_LEFT); // fill 0 prefix.
【问题讨论】:
-
您能否分享您期望的发票编号序列以及递增每个编号的逻辑?
-
为什么不增加一个普通的int,然后用字符串填充呢?
-
sprintf('%02d', $value);或str_pad($value, 2, '0', STR_PAD_LEFT);其中$value包含要增加的整数,不带前导零。这些将在它之后采取。您可以使用if($value > 9999){ sprintf('%01d', $value); }等 if 语句来获取更大的数字。 -
@SpencerMay 我还没有检查文档。但我会试一试。谢谢!
-
@SpencerMay,你能把你的评论变成答案吗?所以我可以将其标记为答案。好在我搜索 str_pad。 :D
标签: javascript php regex