C# 为什么不打印双精度?

C# 为什么不打印双精度?,c#,C#,这应该可以做到: using System; class Test { static void Main(String[] args) { double d = 4.0; double p = Convert.ToDouble(Console.ReadLine()); Console.WriteLine(d + p); } } 这将打印两位小数。如果需要3位小数,只需编辑“N”部分: Console.WriteLine((d

这应该可以做到:

using System;

class Test {
    static void Main(String[] args) {
        double d = 4.0;
        double p = Convert.ToDouble(Console.ReadLine());
        Console.WriteLine(d + p); 
    }
}
这将打印两位小数。如果需要3位小数,只需编辑“N”部分:

Console.WriteLine((d + p).ToString("N")); 

放一个控制台;在写行之后,程序将停止足够长的时间,以便您查看屏幕。确保停止程序,代码将正常工作。抱歉,伙计们,我不确定我是否理解,但如果这有帮助,例如,如果我输入4.0或4,它将打印一个整数,因此在这种情况下,无论我输入的是十进制还是整数,都将打印8。我是编程新手。感谢您的回复
Console.WriteLine((d+p).ToString(“0.##%”))这并没有以任何方式回答OP关于打印“8”而不是“8.00”的问题。Ooops抱歉。我误解了OP的问题。我现在更新了我的答案。我想OP也误解了他们自己的问题,直到他们得到第一个评论和答案:)所以你们并不孤单。
Console.WriteLine((d + p).ToString("N3"));