简单问题:为什么我没有得到20151231当输入为2.0151231E7F
Console.WriteLine("Double: " + 2.0151231E7);
双:20151231
Console.WriteLine("Single: " + 2.0151231E7F);
单:2.015123E + 07
为什么?
背景:我耗费了SOAP网络服务,其中一个元素声明:
<xsd:element name="VALUE_FROM" type="xsd:float" />
在SOAP响应它看起来像这样:
<VALUE_FROM>2.0151231E7</VALUE_FROM>
但我'20151230而不是20151231.
您引用的URL不支持浮点数只有尾数24位的声明。它根本不使用术语“尾数”,因为这是错误的术语。尾数是对数的小数部分。浮点表示的小数部分是有效数。 – 2012-07-18 16:39:11
这两个术语都被使用,@EricPostpischil。只是没有在特定的文章。 – harold 2012-07-18 16:43:27
“尾数”一词并未出现在1985或2008 IEEE 754标准中。它在参考浮点时的使用是草率和误导性的。 – 2012-07-18 16:48:10