将一个值为“76.10”的字符串转换为整数为76的最简单方法是什么?
我尝试过使用Convert.ToInt32和Decimal的几种不同的方法,但我似乎无法正确使用它?
编辑:这是Jon帮我的代码:
decimal t = Math.Round(decimal.Parse(info.HDDStatus));
int v = (int)t;
答案 0 :(得分:6)
最简单的方法是使用Decimal.Parse
来解析它,然后使用Math.Round
(或可能是Math.Floor
,具体取决于您希望如何处理“76.7”这样的数字来舍入它。 然后仅通过强制转换为整数。
我建议您使用decimal
而不是double
,因为您本身就是在讨论十进制号码(就像它在文本中的表示方式一样)。
解析的确切方法取决于文化 - 您希望“76,10”的文本出现在欧洲语境中,还是总是使用“。”作为小数点,例如?
答案 1 :(得分:2)
首先将其转换为double并使用Math.Floor()
首先提取子字符串(76)。
string s = "76.7";
int n = int.Parse(s.Substring(0, s.IndexOf('.')));