如何将数字格式化为带有前导零的字符串?

发布于 2024-10-26 07:15:15 字数 124 浏览 3 评论 0原文

我有一个需要转换为字符串的数字。首先我使用了这个:

Key = i.ToString();

但我意识到它是以奇怪的顺序排序的,所以我需要用零填充它。我怎么能这样做呢?

I have a number that I need to convert to a string. First I used this:

Key = i.ToString();

But I realize it's being sorted in a strange order and so I need to pad it with zeros. How could I do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

℉服软 2024-11-02 07:15:19

在这里,我希望我的否限制在 4 位数字,就像如果它是 1,它应该显示为 0001,如果它是 11,它应该显示为 0011..下面是代码。

        reciptno=1;//Pass only integer.

        string formatted = string.Format("{0:0000}", reciptno);

        TxtRecNo.Text = formatted;//Output=0001..

我实现了此代码来生成收据号。

Here I want my no to limit in 4 digit like if it is 1 it should show as 0001,if it 11 it should show as 0011..Below are the code.

        reciptno=1;//Pass only integer.

        string formatted = string.Format("{0:0000}", reciptno);

        TxtRecNo.Text = formatted;//Output=0001..

I implemented this code to generate Money receipt no.

寻梦旅人 2024-11-02 07:15:19

我找到了一种更好的方法,一直尝试但对我不起作用

Convert.ToDecimal(LN).ToString("000000#");

LN 是 Int64

I found a better way tried all the way but not worked for me

Convert.ToDecimal(LN).ToString("000000#");

LN is Int64

怎樣才叫好 2024-11-02 07:15:18

由于还没有人提到这一点,如果您使用的是 C# 版本 6 或更高版本(即 Visual Studio 2015),那么您可以使用 字符串插值来简化您的代码。因此,您可以这样做,而不是使用 string.Format(...)

Key = $"{i:D2}";

Since nobody has yet mentioned this, if you are using C# version 6 or above (i.e. Visual Studio 2015) then you can use string interpolation to simplify your code. So instead of using string.Format(...), you can just do this:

Key = $"{i:D2}";
难如初 2024-11-02 07:15:18

使用:

i.ToString("D10")

请参阅 Int32.ToString (MSDN),以及 < a href="https://msdn.microsoft.com/en-us/library/dwhawy9k(v=vs.110).aspx">标准数字格式字符串 (MSDN)。

或者使用String.PadLeft。例如,

int i = 321;
Key = i.ToString().PadLeft(10, '0');

结果将是 0000000321。虽然 String.PadLeft 不适用于负数。

请参阅 String.PadLeft (MSDN)。

use:

i.ToString("D10")

See Int32.ToString (MSDN), and Standard Numeric Format Strings (MSDN).

Or use String.PadLeft. For example,

int i = 321;
Key = i.ToString().PadLeft(10, '0');

Would result in 0000000321. Though String.PadLeft would not work for negative numbers.

See String.PadLeft (MSDN).

一念一轮回 2024-11-02 07:15:18

对于插值字符串:

$"Int value: {someInt:D4} or {someInt:0000}. Float: {someFloat: 00.00}"

For interpolated strings:

$"Int value: {someInt:D4} or {someInt:0000}. Float: {someFloat: 00.00}"
泪眸﹌ 2024-11-02 07:15:18

尝试:

Key = i.ToString("000000");

不过,就个人而言,我会看看是否不能直接对整数而不是字符串表示形式进行排序。

Try:

Key = i.ToString("000000");

Personally, though, I'd see if you can't sort on the integer directly, rather than the string representation.

寂寞笑我太脆弱 2024-11-02 07:15:18

通常 String.Format("format", object) 优于 object.ToString("format")。因此,

String.Format("{0:00000}", 15);  

优选的是,

Key = i.ToString("000000");

Usually String.Format("format", object) is preferable to object.ToString("format"). Therefore,

String.Format("{0:00000}", 15);  

is preferable to,

Key = i.ToString("000000");
凤舞天涯 2024-11-02 07:15:18
int num=1;
string number=num.ToString().PadLeft(4, '0')

输出 =“00001”

编辑:更改为匹配 PadLeft 数量

int num=1;
string number=num.ToString().PadLeft(4, '0')

Output="00001"

EDIT: Changed to match the PadLeft amount

薆情海 2024-11-02 07:15:17

相当简单:

Key = i.ToString("D2");

D 代表“十进制数”,2 代表要打印的位数。

Rather simple:

Key = i.ToString("D2");

D stands for "decimal number", 2 for the number of digits to print.

扛刀软妹 2024-11-02 07:15:17

请参阅 C# 中的字符串格式化,了解 String.Format 的一些使用

示例格式化 int

String.Format("{0:00000}", 15);          // "00015"

或使用字符串插值:

$"{15:00000}";                           // "00015"

See String formatting in C# for some example uses of String.Format

Actually a better example of formatting int

String.Format("{0:00000}", 15);          // "00015"

or use String Interpolation:

quot;{15:00000}";                           // "00015"
杀手六號 2024-11-02 07:15:17

如果您想保持固定宽度,例如 10 位数字,请像这样

Key = i.ToString("0000000000");

替换为您喜欢的任意数量的数字。

i = 123 将生成 Key = "0000000123"

If you like to keep it fixed width, for example 10 digits, do it like this

Key = i.ToString("0000000000");

Replace with as many digits as you like.

i = 123 will then result in Key = "0000000123".

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文