我有
@{
var to = Model.PageMeta.TestID == "00" ? "All Tests" : Model.PageMeta.TestID;
}
TestID的值可以是“00”,“01”,“02”等
我想要做的是将其显示为“所有测试”,“1”,“2”等。换句话说,我想显示没有前导零的值。
我试过
parseInt(Model.PageMeta.TestID)
但这给了我一个编译器错误。
答案 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);
}