Formatting a string with string.Format(“{0:00}”

帅比萌擦擦* 提交于 2019-12-04 15:33:32

问题


I have just taken over some code and I see this used a lot. It seems to take the integer and create a string looking like "01", "02" etc.

What I am not sure of is the convention used here. Why is the format {0:00} and not {00}?

string.Format("{0:00}", int.Parse(testVal) + 1);

回答1:


The first 0 is the placeholder, means the first parameter. 00 is an actual format.

For example it could be like this:

var result = string.Format("{0:00} - {1:00}", 5, 6);

result will be 05 - 06. So the first 0 is means take the first parameter 5, while 1 means to take parameter 6.

The format is {index[,length][:formatString]}. Take a look at String.Format Method.




回答2:


The first 0 in the following line is for the index of your argument

string.Format("{0:00}", int.Parse(testVal) + 1); 

(int.Parse(testVal) + 1).ToString ("00") will yield the same thing.

string.Format supports multiple substitutions like this:

string.Format("{0:00} + 1 = {1:00}", int.Parse(testVal), int.Parse(testVal) + 1); 



回答3:


The leading 0 in the format string {0:00} indicates the index of this formatter specification. The MSDN documentation for String.Format has this to say about the index...

index: The zero-based position in the parameter list of the object to be formatted.



来源:https://stackoverflow.com/questions/6352587/formatting-a-string-with-string-format000

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!