如何从整数中获取最后2个字符

时间:2015-04-20 21:06:53

标签: c#

我需要通过linq查询从整数字段中获取最后两个字符。

无法使用Convert.ToString()将整数字段转换为String,因为LINQ不支持ToString()。

任何帮助?

int ret = db.tblProductionVolumes.Where(x => x.Month.ToLower().Equals(month.Substring(0, 3).ToLower()) &&
        month.Substring(month.Length - 2, 2).Equals(x.Year%100) &&
        x.BUId == namcID &&
        x.Type.ToLower().Trim().Equals(Constants.OS_VANNING)).Single().Volume; 
return (int?)ret

3 个答案:

答案 0 :(得分:16)

您可以使用模数运算符:

123 % 100 = 23
444 % 100 = 44
103 % 100 = 3 (needs to be padded)

然后你可以填写数字,以数字开头为零。

(myNumber % 100).PadLeft(2, '0')

答案 1 :(得分:4)

您可以使用整数模数和div

Integer i = 1337
i % 10 will give 7
i / 10 will give 133

答案 2 :(得分:2)

对于LINQ,这里是如何将整数转换为字符串:

Problem with converting int to string in Linq to entities

然后你可以使用正则表达式从字符串中取出最后两个字符。