我在尝试取出字符串的小数部分时遇到了很多问题, 字符串来自我视图中的 var type ,如下所示:
var temp = dashList[index];
@PrintSection(actualDate, Model, String.Format("{0:0.000}", temp.Rubro))**
temp.Rubro是我的字符串部分,可以是“。00”或“。XX”
但是我只需要在字符串的小数部分为“。00”时 因为我有一些仪表表的值有重要的小数部分。
是否有办法在字符串的十进制部分等于“。00” ???
时我想要得到的输出是:
From XX.00 -> XX
From XX.12 -> XX.12
这两种都在我的名单上
答案 0 :(得分:1)
试试这个:
var temp = dashList[index];
@PrintSection(actualDate, Model, String.Format("{0:0.000}", temp.Rubro).Replace(".00", ""))
答案 1 :(得分:0)
您可以尝试使用
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)。
答案 2 :(得分:0)
简单的技巧......
您可以解析字符串,它会自动删除小数位 尝试以下
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
希望这有帮助。
答案 3 :(得分:0)
我建议您使用accounting.js插件,这非常简单。我在一些项目中使用它,截至今天我不能抱怨。否则,你可以这样做,
var x = temp.Replace(".00","").Trim();