在C#中浮点到没有小数值的字符串

时间:2013-09-23 06:01:03

标签: c# numbers decimal

这就是我从我的数据源获得以前最大的ID以及加上一个这个值的方法。

   string _fID = (float.Parse("." + DBContext.Employees.OrderByDescending(x =>   
    x.EmpID).FirstOrDefault().EmpID.ToString()) + .00001f).ToString("F5");

我得到_fID = 0.00002

但我想要的是没有小数值的字符串 例如。 _fID = 00002

我所做的就是替换_fID = _fID.Replace("0.",""); 有没有简短的方法来制作这些东西?谢谢大家:)

PS

EmpID的数据类型为nvarchar(5)

1 个答案:

答案 0 :(得分:7)

我建议你停止使用浮点类型。只需使用整数,因为这基本上就是你所拥有的。 (当你逻辑上只使用整数时,你的数据类型是文本的,这是一种遗憾。)

string currentHighest = DBContext.Employees
                                 .Select(x => x.EmpID)
                                 .OrderByDescending(x => x)
                                 .FirstOrDefault();
// TODO: Handle currentHighest being null (empty table)
int nextId = (int.Parse(currentHighest) + 1).ToString("00000");