如果等于“.00”,则从字符串中删除小数

Remove Decimal form String if equals to ".00"

我在尝试取出字符串的小数部分时遇到了很多问题, 该字符串来自 var 类型 在我看来是这样的:

 var temp = dashList[index];
  @PrintSection(actualDate, Model, String.Format("{0:0.000}", temp.Rubro))**

temp.Rubro 是我的字符串部分,可以是 ".00"".XX"

然而,只有当它的值为 ".00" 时,我才需要取字符串的小数部分 因为我有一些 dashlist 的值有重要的小数部分。

有没有办法只在字符串等于 ".00" 时才取小数部分???

我试图获得的输出是:

From XX.00 -> XX
From XX.12 -> XX.12

两种都在我的名单上

您可以尝试使用

String.Format("{0:G29}", decimal.Parse(temp.Rubro)))

而以下所有格式都达到相同的结果。

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

您可以将 ToString()General ("G") Format Specifier 结合使用以获得所需的结果。以指定的精度使用此格式字符串时,尾随零将被截断。为了防止在任何情况下四舍五入,您需要将精度设置为小数允许的最大值 (29)。

试试这个:

var temp = dashList[index];
@PrintSection(actualDate, Model, String.Format("{0:0.000}", temp.Rubro).Replace(".00", ""))

简单的技巧...

你可以解析字符串,它会自动去掉小数位 尝试关注

 private static void ParseDouble()
    {
        string sDouble = "12.00";
        double dValue = double.Parse(sDouble);
        Console.WriteLine(dValue.ToString());


        sDouble = "12.14";
        dValue = double.Parse(sDouble);
        Console.WriteLine(dValue.ToString());
    }

你的输出将是

12
12.14

希望对您有所帮助。

我建议您使用 accounting.js 插件,它非常简单。我已经在一些项目中使用过它,到今天为止我不能抱怨。否则,你可以这样做,

var x = temp.Replace(".00","").Trim();