避免指数值

时间:2015-04-09 14:26:59

标签: c# web-services dto

我在网络服务中遇到麻烦。我遇到的问题是一个数字,从数据库中以十进制格式出现,但是当我使用webservice时,数字看起来像-3.2E-05

c#代码中dto的结构是:

 var dto = new RentabPorInstrumentoDTO
                              {
                                  RentabilidadHist = p.RENTABOLIDAD_HIST,
                                  RentabilidadHist = Convert.ToDouble(p.RENTABOLIDAD_HIST)

数据库上的数字是:-0.000032 在DTO上收到的号码是:-0.000032

我最诚挚的问候!

图片在这里:http://imageshack.com/a/img537/9963/RA8Ozf.png

1 个答案:

答案 0 :(得分:0)

您的类在您的类中定义为Double,也可能在您的数据库中。双打是浮点数并将执行以下操作:浮点数不准确(奇怪但真实!)。将类中的成员重新定义为十进制,将列重新定义为十进制(18,x),其中x是您想要的小数位数,并且它更易于预测。

请注意-3.2E-05是-0.000032的科学记数法:它们实际上是相同的,所以你实际上并没有问题,虽然使用浮点数你可能会得到一个。