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