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

2.4200
2.0044
2.0000

我想要这样的结果

2.42
2.0044
2

我试过用String。格式,但它返回2.0000,并将其设置为N0也会四舍五入其他值。


当前回答

像这样试试

string s = "2.4200";

s = s.TrimStart("0").TrimEnd("0", ".");

然后把它转换成浮点数

其他回答

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

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

试试下面的代码:

string value = "100";
value = value.Contains(".") ? value.TrimStart('0').TrimEnd('0').TrimEnd('.') : value.TrimStart('0');

这很简单。

decimal decNumber = Convert.ToDecimal(value);
        return decNumber.ToString("0.####");

测试。

欢呼:)

像这样试试

string s = "2.4200";

s = s.TrimStart("0").TrimEnd("0", ".");

然后把它转换成浮点数

在我看来,使用自定义数字格式字符串更安全。

decimal d = 0.00000000000010000000000m;
string custom = d.ToString("0.#########################");
// gives: 0,0000000000001
string general = d.ToString("G29");
// gives: 1E-13