如何解析一个值以在剃刀视图中显示为整数?

时间:2011-11-05 07:13:56

标签: asp.net-mvc asp.net-mvc-3 razor

我有

    @{
    var to = Model.PageMeta.TestID == "00" ? "All Tests" : Model.PageMeta.TestID;
    }

TestID的值可以是“00”,“01”,“02”等

我想要做的是将其显示为“所有测试”,“1”,“2”等。换句话说,我想显示没有前导零的值。

我试过

parseInt(Model.PageMeta.TestID) 

但这给了我一个编译器错误。

4 个答案:

答案 0 :(得分:4)

尝试使用Int32.Parse()方法。

答案 1 :(得分:2)

最简单的方法是使用TrimStart

答案 2 :(得分:0)

如果是字符串,请使用Convert.ToInt32()

using System;

public class Test
{
    public static void Main()
    {
            string s = "00";
            string s2 = "04";

            int i = Convert.ToInt32(s);
            int i2 = Convert.ToInt32(s2);

            Console.WriteLine("{0}|{1}", i, i2);
    }
}

输出:

0|4

与TrimStart相比:

using System;

public class Test
{
    public static void Main()
    {
            string s = "00";
            string s2 = "04";

            Console.WriteLine("{0}|{1}", s.TrimStart('0'), s2.TrimStart('0'));
    }
}

输出:

|4

答案 3 :(得分:0)

实际上最简单但最完整的是:

 @{
 var to = Model.PageMeta.TestID == "00" ? 
  "All Tests" : 
         (Model.PageMeta.TestID.StartsWith("0") ? 
                 Model.PageMeta.TestID.Substring(1) : 
                 Model.PageMeta.TestID);
  }