我使用以下代码行将decimal转换为string:
decimal a = 0;
a.ToString();Resharper给了我以下警告:“指定字符串区域性解释性”。我想这是合理的,因为有些文化可能使用“。(点)或",“(逗号)作为小数点。
然而,以下代码行:
decimal? a = 0; //a is now nullable
a.ToString();不要提出同样的警告。我想知道这是Resharper中的一个bug,还是一个可空的decimal有什么特别之处?
发布于 2015-11-11 17:10:43
为了扩展Gama Felix的回答,我假设这是因为decimal?.ToString()没有接受一种文化的重载。如果您不关心特定于文化的字符串,那么您就设置好了。如果您确实关心,那么您应该检查一个值并使用decimal?.Value.ToString()。
发布于 2015-11-11 17:08:12
我认为这是因为decimal?只是Nulable<decimal>的别名,所以您在可空类上调用ToString()方法,而不是十进制类型。
https://stackoverflow.com/questions/33655800
复制相似问题