有人可以解释一下为什么会这样:
public static string ToValueString(this decimal value)
{
return value.ToString(EnUsCulture);
}
当我这样称呼它时:
var result = 1M.ToValueString();
我得到了结果:
"1"
现在一个奇怪的情况来了。我有从数据库中获得的十进制值。值为十进制(18,4)。我有来自 db 的值,例如1。我可以在调试器中看到它1,而不是1.0000。但是当我打电话时:
var result = value.ToValueString();//where value == 1
我得到了结果:
"1.0000"
为什么呢?为什么在第一个变体中,十进制1在第二个变体中返回“1”和“1.0000”