簡體   English   中英

字符串值的數字增量

[英]Number increment from string value

我的申請由於某種原因我有5位數的兩個數字。

以下代碼簡要介紹了您的想法。

string s = "00001"; // Initially stored somewhere.
//Operation start
string id = DateTime.Now.ToString("yy") + DateTime.Now.AddYears(-1).ToString("yy") + s;
//Operation end

//Increment the value of s by 1. i.e 00001 to 00002

這可以通過將s的值轉換為int並將其遞增1來輕松完成,但畢竟我還必須將增加的s值存儲為5位數,因此它將為“00002”

這個想法給我一個痛苦......

采用

string s = "00001";
int number = Convert.ToInt32(s);
number += 1;
string str = number.ToString("D5");

得到至少5位數。

“D”(或十進制)格式說明符

如果需要,數字用左邊的零填充,以產生精度說明符給出的位數。 如果未指定精度說明符,則缺省值是表示不帶前導零的整數所需的最小值。

這似乎對我有用。

string s = "00001";
int i = Int32.Parse(s);
i++;
s = i.ToString("D" + s.Length);

所以我想你想知道如何將int轉換為5位數的string

你可以這樣做:

int i = 1;
string s = i.ToString("D5");
//s = "00001"

這里有很多格式示例

使用String.Format()來實現這個目的:

string str = String.Format({0:#####}, s);

這里

這可以使用PadLeft函數:

int i = 1; // Initially stored somewhere.
//Operation start
string id = DateTime.Now.ToString("yy") + DateTime.Now.AddYears(-1).ToString("yy") + i.ToString().PadLeft(5, '0');
//Operation end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM