如何在小数点后添加零

szp*_*pic 3 c# decimal

让我们假设我有这样的小数:

decimal a= 12.1
Run Code Online (Sandbox Code Playgroud)

但我希望它是:

a=12.10
Run Code Online (Sandbox Code Playgroud)

是否有可能在没有使用.toString()? 我尝试使用decimal.Round()但它仍然设置一个=12.1

澄清: 数据,例如.12.1是从webservice收到的,所以我不能简单地将其改为12.10M

Lua*_*aan 12

实际上,.NET的decimal类型确实包括小数点后的零.你只需要使用十进制文字:

var a = 12.10M;
Run Code Online (Sandbox Code Playgroud)

如果你需要这个实时值而不是编译时,你可以乘以另一个十进制文字,例如:

var a = someDecimalInput;
return a * 1.0000M; // Ensures at least four digits after the decimal point.
Run Code Online (Sandbox Code Playgroud)

但是,我仍然建议不要这样做 - 格式最好留给表示层,这就是你要处理要显示多少小数点的地方.你通常会使用类似的东西a.ToString("f2").