在C语言中,如何将一个浮点数变换成整数?

Python017

在C语言中,如何将一个浮点数变换成整数?,第1张

需要准备的材料分别有:电脑、C语言编译器。

1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。

2、在test.cpp文件中,输入C语言代码:double a = 2.71828printf("%d", int(a))。

3、编译器运行test.cpp文件,此时成功将浮点数2.71828转换为了整数2。

可以利用强制类型转换运算符将一个表达式转换成所需类型。例如:

(double)a                (将a转换成double类型)

(int) (x+y)                 (将x+y的值转换成int型)

(float)(5%3)              (将5%3的值转换成float型)

其一般形式为

(类型名)(表达式)

注意,表达式应该用括号括起来。如果写成

(int)x+y

则只将x转换成整型,然后与y相加

        需要说明的是,在强制类型转换时,得到一个所需类型的中间变量,而原来变量的类型未发生变化。例如:

                a=(int)x

如果已定义x为float类型变量,a为整型变量,进行强制类型运算(int)x后得到一个int类型的临时值,它的值等于x的整数部分,把它赋给a,注意x的值和类型都未变化,仍为float型。该临时值在赋值后就不再存在了。

        从上可知,有两种类型转换,一种是在运算时不必用户干预,系统自动进行的类型转换,如3+6.5。第2种是强制类型转换。当自动类型转换不能实现目的时,可以用强制类型转换。如%运算符要求其两侧均为整型量,若x为float型,则x%3不合法,必须用(int)x%3,。强制类型转换运算符优先于%运算,因此先进行(int)x的运算,得到一个整型的中间变量,然后再对3求余。此外,在函数调用时,有时为了使实参与形参类型一致,可以用强制类型转换运算符得到一个所需要类型的参数。