c#将双精度格式精确设置为n位小数

c#将双精度格式精确设置为n位小数,c#,string,C#,String,我想在komma之后一直精确地显示n个小数 所以(for=2)如果我有13.4589,它应该显示13.49;如果为1512.0000,则应显示1512.00,而不仅仅是1512 我试过这个: double value; //does contain the value to dislplay int numberOfDecimals; //does contain the number of decimals I want to have permanently displayed ///fi

我想在komma之后一直精确地显示n个小数

所以(for=2)如果我有13.4589,它应该显示13.49;如果为1512.0000,则应显示1512.00,而不仅仅是1512

我试过这个:

double value; //does contain the value to dislplay
int numberOfDecimals; //does contain the number of decimals I want to have permanently displayed

///first try
int temp = Convert.ToInt32(Math.Pow(10, numberOfDecimals));
string result1 = ((Math.Truncate(value * temp) / temp).ToString();

///second try
string temp = "0.";
for(int i = 0; i<numberOfDecimals;i++)
{
temp = temp + "#";
}
string result2 = value.ToString(temp);
双值//不包含要显示的值
整数小数//是否包含要永久显示的小数位数
///初试
int temp=转换为32(数学功率(10,小数位数));
字符串result1=((Math.Truncate(value*temp)/temp.ToString();
///第二次尝试
字符串temp=“0。”;
对于(int i=0;i您可以使用:


您是否尝试过
“0.00
?在评论行为时,请在问题中发布您观察到的内容和您想要的内容,以及您能想到的任何有用的信息(如您使用的实际格式字符串)。
的意思是“如果不重要,则不显示”“。您可能打算使用
0
。您必须使用
F2
0.00
1512.0000
显示为
1512.00
。请参见。此外,您可以使用构造函数,而不是在for循环中不断创建新字符串。它与.ToString(((“F”+numberdecimals.ToString())一起工作,谢谢。”
string result1 = ((Math.Truncate(value * temp) / temp).ToString("F2");