c# 如何将带小数点的字符串转换为整型

如题所述

//遵循四舍五入原则:

string test1="9.3";

string test2 = "9.5";

int int1= Convert.ToInt32(Convert.ToDouble(test1));

int int2 = Convert.ToInt32(Convert.ToDouble(test2))。

在C#中,要将一个字符串或浮点数转换为整数,基本上有三种方法:

1、使用强制类型转换:(int)浮点数 。

2、使用Convert.ToInt32(string)。

3、使用int.Parse(string)或int.TryParse(string,out int)。

在实际使用时,当要转换的字符串或数字带有小数时,发现它们有以下区别:

1、方法一:截断 ,方法二:四舍五入

int a=(int)2.8; //结果为2
int b=Convert.ToInt32(2.8); //b的值为3。

2、int.Parse方法的参数如果不能转换为整数,则报异常。

如 int c=int.Parse("2.8"); //报异常,说明其参数必须是整数字符串。
//int.TryParse,
int c = -1,
int.TryParse("2.8", out c); //不能转换成功,结果为0,
int.TryParse("2", out c); //转换成功,结果为2。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
int x = (int)Convert.ToSingle("12.6");
一楼的方法一样可行。
补充说明:如果想要四舍五入的结果,这样还不够,我给的这个例子结果会是12.本回答被网友采纳
第2个回答  2012-05-30
//遵循四舍五入原则
string test1="9.3";
string test2 = "9.5";
int int1= Convert.ToInt32(Convert.ToDouble(test1));
int int2 = Convert.ToInt32(Convert.ToDouble(test2));
第3个回答  2012-05-23
(int)float.Parse("5.1")