我在网络服务中遇到麻烦。我遇到的问题是一个数字,从数据库中以十进制格式出现,但是当我使用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
我最诚挚的问候!
答案 0 :(得分:0)
您的类在您的类中定义为Double,也可能在您的数据库中。双打是浮点数并将执行以下操作:浮点数不准确(奇怪但真实!)。将类中的成员重新定义为十进制,将列重新定义为十进制(18,x),其中x是您想要的小数位数,并且它更易于预测。
请注意-3.2E-05是-0.000032的科学记数法:它们实际上是相同的,所以你实际上并没有问题,虽然使用浮点数你可能会得到一个。