2017-09-13 93 views
0

我遇到了this stack,这对理解小数和双精度之间的区别非常有帮助,但它不能解决我的问题。0.0返回类型为十进制时显示为double

为什么0.0默认为double?

0.0 showing up as double when return type is decimal

+6

'0.0m'为十进制。默认情况下,'0.0'是双倍的,因为这是他们编写编译器的方式。如果您需要帮助您的代码,请向我们显示代码,而不是错误消息的屏幕截图。 –

+0

修好了!我很欣赏这个解释! –

+0

[在.NET中的十进制,浮点数和双精度之间的区别?](https://stackoverflow.com/questions/618535/difference-between-decimal-float-and-double-in-net) – xxbbcc

回答

7

0.0m是小数。 0.0默认为double,因为这就是他们编写编译器的方式。 double更常用,所以如果你没有指定类型后缀,那就是你得到的。

你想要的可能是Task.FromResult(0.0m)