我有一些字段由集合返回
2.4200
2.0044
2.0000
我想要这样的结果
2.42
2.0044
2
我尝试使用 String.Format
,但它返回 2.0000
并将其设置为 N0
也对其他值进行舍入。
最佳答案
我遇到了同样的问题,但在我无法控制字符串输出的情况下,这是由库处理的。在查看 Decimal 类型的实现细节后(参见 http://msdn.microsoft.com/en-us/library/system.decimal.getbits.aspx ), 我想出了一个巧妙的技巧(这里作为扩展方法):
public static decimal Normalize(this decimal value)
{
return value/1.000000000000000000000000000000000m;
}
小数的指数部分减少到恰好需要的部分。在输出小数点上调用 ToString() 将写入没有任何尾随 0 的数字。例如
1.200m.Normalize().ToString();
关于c# - 删除尾随零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4525854/