十进制输出的格式字符串

时间:2012-09-27 17:05:35

标签: c# string formatting

我今天刚刚开始编写C#,我正在尝试处理格式字符串。

我想输出这种格式的字符串:

{decimal number using a maximum of 10 columns} + 
" " + 
{decimal number taking a maximum of 10 columns}

我试过

String outputFormat = "{0,-10:0.#####} {1,-10:0.#####}";
String output = String.Format(outputFormat, x, y);

但如果x34059834.340598,我无法获得我想要的输出。

第一个数字超过10列。

是否有格式字符串强制数字为10列? (如果n.m大于10列,可能会显示E表示法。)

2 个答案:

答案 0 :(得分:3)

我认为您正在寻找G specifier数字格式。

像这样的(未经测试的)应该工作:

string tenCols = myDecimal.ToString("G10");

或者为了更加符合你以前的想法,我认为应该这样做:

String outputFormat = "{0,-10:G10} {1,-10:G10}";
String output = String.Format(outputFormat, x, y);

答案 1 :(得分:0)

double x = 34059834.340598
string displayX = x.ToString().Substring(0,10);

我很确定你无法直接使用格式字符串来做你想做的事情,但在代码中使用字符串操作很容易。