十进制到字符串的转换问题
本文关键字:转换 问题 字符串 十进制 | 更新日期: 2023-09-27 18:18:05
Math.Round((ClosePrice - OpenPrice), 5) = -0.00001
但是当我把它转换成tostring时,它给出了"-1E-05"
Math.Round((ClosePrice - OpenPrice), 5).ToString() = "-1E-05"
为什么会这样?我怎样才能得到"-0.00001"
你可以像MSDN的标准数字格式字符串那样使用格式说明符
double foo = -0.00001;
Console.WriteLine(foo.ToString("f5"));
ToString()
根据要格式化的值选择格式,以实现最紧凑的表示。如果希望选择特定的格式,则需要使用ToString(string format)
重载。例如,如果调用
Math.Round((ClosePrice - OpenPrice), 5).ToString("N5")
你将得到"-0.00001"
字符串作为结果
每个从object
继承的类(因此任何类)都有一个.ToString()
方法。它的输出取决于它是否被覆盖,如果是,它是如何被覆盖的(即实现者想要作为字符串给出什么)。如果你为你的一个类实现一个.ToString()
方法,你会经历同样的过程。
这是关于"为什么"的问题——"如何"已经被别人回答了。