【发布时间】:2020-11-09 19:25:40
【问题描述】:
我有一个包含 int 类型的 instanceNumber 属性的列表,如果它的值小于 10,我想添加前导 0。即 01,02...09 在 10,11,12 之后等等。我试过了以下代码,但它没有工作
var sidList = _sidRepository.GetAllList().Where(q=>q.IsDeleted==false).OrderByDescending(q=>q.Id).ToList();
if (sidList.Count > 0)
{
sidList.Where(w => w.InstanceNumber<10).ToList().
ForEach(s => s.InstanceNumber = s.InstanceNumber.Value.ToString("D").Length + 2);
}
【问题讨论】:
-
你的问题没有意义。 int 只是一个数字,而 01 与 1 完全相同。可能有前导零的,它是数字的 字符串表示。使用
n.ToString().PadLeft(2, '0')创建一个带有前导零的两位数字符串。 -
@Klaus 或带有格式说明符的 ToString,例如
"00" -
@AfaqRajput 你能用所需的输出编辑问题吗?
-
它的工作,但你可以看到我把这个值存储回实例号,它是 int,这个特定的代码返回字符串,如果我转换它,它会再次删除前导 0