我有一个数字,我需要转换成一个字符串。首先我用了这个:
Key = i.ToString();
但我意识到它的排序顺序很奇怪所以我需要用0填充它。我怎么能这样做呢?
我有一个数字,我需要转换成一个字符串。首先我用了这个:
Key = i.ToString();
但我意识到它的排序顺序很奇怪所以我需要用0填充它。我怎么能这样做呢?
当前回答
非常简单:
Key = i.ToString("D2");
D代表“十进制数”,2代表要打印的位数。
其他回答
有关字符串的一些示例,请参阅c#中的字符串格式化。格式
实际上这是一个更好的int格式的例子
String.Format("{0:00000}", 15); // "00015"
或者使用字符串插值:
$"{15:00000}"; // "00015"
我找到了一个更好的办法,我一直在尝试,但对我不起作用
Convert.ToDecimal(LN).ToString("000000#");
LN是Int64
use:
i.ToString("D10")
看到Int32。ToString (MSDN)和标准数字格式字符串(MSDN)。
或者使用String.PadLeft。例如,
int i = 321;
Key = i.ToString().PadLeft(10, '0');
将导致0000000321。尽管字符串。PadLeft对负数无效。
看到字符串。PadLeft (MSDN)。
由于还没有人提到这一点,如果你使用的是c#版本6或更高版本(即Visual Studio 2015),那么你可以使用字符串插值来简化代码。所以不用string.Format(…),你可以这样做:
Key = $"{i:D2}";
通常的字符串。Format(" Format ", object)优于object. tostring (" Format ")。因此,
String.Format("{0:00000}", 15);
更可取于,
Key = i.ToString("000000");