我有一些由集合返回的字段

2.4200
2.0044
2.0000

我想要类似的结果
2.42
2.0044
2

我尝试使用String.Format,但是它返回2.0000并将其设置为N0也会舍入其他值。

最佳答案

如果输入是字符串,这不是那么简单吗?您可以使用以下之一:

string.Format("{0:G29}", decimal.Parse("2.0044"))

decimal.Parse("2.0044").ToString("G29")

2.0m.ToString("G29")

这应该适用于所有输入。

更新 checkout Standard Numeric Formats我必须将docs明确指出的精度说明符设置为29:



在评论中更新 Konrad pointed out:

09-13 10:21