Nullable <decimal> ToString(“ D”)FormatException

时间:2018-08-30 16:59:13

标签: c# .net-4.5

我有一个可为空的十进制数,该整数将在方法中接收并验证。 首先,我检查它是否具有值(如果为空,则给出错误消息),然后检查该值是否在范围内(基本上,它是一个百分比,必须在0到100之间,不包括0)。 / p>

因此,当我通过此函数接收到值0时,会生成一条错误消息,其中包含接收到的值:

f

除了这给出了FormatException。

我尝试检查是否可为null的问题以及各种不同的排列,并且得到了这些结果(在监视窗口中):

value?.ToString("D")

问题似乎出在格式化字符串上,但是我在其他地方使用value?.ToString("D2") -> FormatException value?.ToString("D") -> FormatException value?.ToString() -> "0" (100M).ToString("D2") -> FormatException (100M).ToString("D") -> FormatException (100M).ToString() -> "100" value.Value.ToString("D2") -> FormatException value.Value.ToString("D") -> FormatException value.Value.ToString() -> "0" 来格式化显示值(还有两位小数(decimal.ToString("D")))

这可能是配置问题吗?我最近更换了计算机并进行了Visual Studio 2015的全新安装,但我还没有机会查看它是否在其他地方停止工作。

0 个答案:

没有答案