让我们假设我有这样的小数:
decimal a= 12.1
但我希望它是:
a=12.10
是否可以在不使用.toString()?
的情况下完成
我尝试使用decimal.Round()
,但仍设置了=12.1
澄清: 数据,例如。从webservice收到12.1,所以我不能简单地将它改为12.10M
答案 0 :(得分:10)
实际上,.NET的decimal
类型确实包含小数点后的零。你只需要使用十进制文字:
var a = 12.10M;
如果你需要这个实时值而不是编译时,你可以乘以另一个十进制文字,例如:
var a = someDecimalInput;
return a * 1.0000M; // Ensures at least four digits after the decimal point.
但是,我仍然建议不要这样做 - 格式化最好留给表示层,以及要处理要显示多少小数点的位置。您通常会使用类似a.ToString("f2")
的内容。