C#将字符串转换为int(带舍入)

时间:2010-08-10 09:23:13

标签: c# .net

将一个值为“76.10”的字符串转换为整数为76的最简单方法是什么?

我尝试过使用Convert.ToInt32和Decimal的几种不同的方法,但我似乎无法正确使用它?

编辑:这是Jon帮我的代码:

            decimal t = Math.Round(decimal.Parse(info.HDDStatus));
            int v = (int)t;

2 个答案:

答案 0 :(得分:6)

最简单的方法是使用Decimal.Parse来解析它,然后使用Math.Round(或可能是Math.Floor,具体取决于您希望如何处理“76.7”这样的数字来舍入它。 然后仅通过强制转换为整数。

我建议您使用decimal而不是double,因为您本身就是在讨论十进制号码(就像它在文本中的表示方式一样)。

解析的确切方法取决于文化 - 您希望“76,10”的文本出现在欧洲语境中,还是总是使用“。”作为小数点,例如?

答案 1 :(得分:2)

  1. 首先将其转换为double并使用Math.Floor()

  2. 首先提取子字符串(76)。

  3. string s = "76.7"; 
    int n = int.Parse(s.Substring(0, s.IndexOf('.')));