C#数字格式

C#数字格式,c#,C#,我以前也问过类似的问题,但现在我有了更好的提问方式。我正在做计算器。我需要将除法的格式设置为小数点后8位。这是我正在使用的代码,并试图创建自定义格式。出于某种原因,它忽略了我的格式设置。我写这部分代码的方式是否有问题 private void btnDivide_Click(object sender, System.EventArgs e) { calc.Divide(displayValue); newValue = true; de

我以前也问过类似的问题,但现在我有了更好的提问方式。我正在做计算器。我需要将除法的格式设置为小数点后8位。这是我正在使用的代码,并试图创建自定义格式。出于某种原因,它忽略了我的格式设置。我写这部分代码的方式是否有问题

 private void btnDivide_Click(object sender, System.EventArgs e)
    {
        calc.Divide(displayValue);
        newValue = true;
        decimalEntered = false;
        displayValue = calc.CurrentValue;
        txtDisplay.Text = displayValue.ToString(string.Format("{####.########}"));
    }
我也试过这个样品,但运气不好

 private void btnDivide_Click(object sender, System.EventArgs e)
    {
        calc.Divide(displayValue);
        newValue = true;
        decimalEntered = false;
        displayValue = calc.CurrentValue;
        txtDisplay.Text = displayValue.ToString(string.Format("f8"));
    }
我不确定我的错误是否与我写这篇文章的方式有关,或者是否在我的程序中的其他地方,但你的回答可能会帮助我缩小范围


我的理解是,这两种格式“应该”完成相同的事情。再说一遍,我是新来的。

我想它是零而不是#。这个代码片段为我显示了8位小数

void Main()
{
decimal d = 351.23456M;
Console.Write(d.ToString("0.00000000"));
}

我想你想要的是这个

 Console.Write(d.ToString("F8"));
这将在点后输出8位数字

更多信息请点击此处:

这项更改应该满足您的要求。这将对数字进行格式化,使其包含逗号和小数,最多为8(如果需要)


如果您想强制使用8位小数,可以使用F8或将#s改为0。

我认为您的格式设置是正确的,但它没有解决我的问题。我想我的问题在别的地方,我在调试中找不到它。。。我会给你积分,但上面说我必须再等几分钟。无论如何,谢谢你。
private void btnDivide_Click(object sender, System.EventArgs e)
{
    calc.Divide(displayValue);
    newValue = true;
    decimalEntered = false;
    displayValue = calc.CurrentValue;
    txtDisplay.Text = displayValue.ToString("#,###.########");
}