1

有人可以解释一下为什么会这样:

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”

4

0 回答 0