C# 设置双内标签文本的十进制数字格式

C# 设置双内标签文本的十进制数字格式,c#,string-formatting,C#,String Formatting,我有一行代码: label4.Text = "(" + x1 + ", 0), (" + x2 + ",0)"; x1和x2都是双值。我不能让它们以两个十进制数字显示。我知道我可以使用{0:N2},但我找不到正确的语法方法来使用它,因为我想要显示的字符串中有两个值。我应该如何编写它以使两个值(x1和x2)仅以2个十进制数字的字符串显示?通过使用,您可以在格式字符串中创建标记,然后提供匹配数量的参数来填充标记: string.Format("({0:0.00}, 0), ({1:0.00},0)

我有一行代码:

label4.Text = "(" + x1 + ", 0), (" + x2 + ",0)";
x1和x2都是双值。我不能让它们以两个十进制数字显示。我知道我可以使用
{0:N2}
,但我找不到正确的语法方法来使用它,因为我想要显示的字符串中有两个值。我应该如何编写它以使两个值(x1和x2)仅以2个十进制数字的字符串显示?

通过使用,您可以在格式字符串中创建标记,然后提供匹配数量的参数来填充标记:

string.Format("({0:0.00}, 0), ({1:0.00},0)", x1, x2);

你可以这样做:

label4.Text = string.Format("({0:0.00}, 0), ({1:0.00},0)", x1, x2);
或者在C#6中使用

试试这个,我的朋友:

double x1 = 10.5;
double x2 = 5.666;

label4.Text = String.Format("({0:N2}), ({1:N2})", x1, x2);
此表达式的结果:

 "(10.50), (5.67)"

编译器将为变量调用
ToString()
,但您可以自己转换为字符串,例如
x1.ToString(“0.00”)
(或
“N2”
)。虽然这种串接字符串的方式很糟糕。使用插值字符串(@Rene的答案)以提高可读性,减少错误倾向等。
 "(10.50), (5.67)"