Math.Round((ClosePrice - OpenPrice), 5) = -0.00001
但是当我将它转换为tostring时,它会给出“-1E-05”
Math.Round((ClosePrice - OpenPrice), 5).ToString() = "-1E-05"
为什么会这样?我怎样才能得到“-0.00001”
答案 0 :(得分:11)
您可以使用MSDN's Standard Numeric Format Strings
上演示的格式说明符double foo = -0.00001;
Console.WriteLine(foo.ToString("f5"));
答案 1 :(得分:4)
ToString()
根据格式化的值选择格式以实现最紧凑的表示。如果您想选择特定格式,则需要使用ToString(string format)
重载。例如,如果你打电话
Math.Round((ClosePrice - OpenPrice), 5).ToString("N5")
结果会得到"-0.00001"
字符串。
答案 2 :(得分:2)
每个继承自object
(因此任何类)的类都有.ToString()
方法。它输出的内容取决于它被覆盖的天气,如果是,它是如何被覆盖的(即实现者想要以字符串形式给出什么。它与你实现一个{ {1}}您的某个课程的方法。
这就是“为什么” - 其他人已经回答了“如何”。