首先我们先要知晓转换后的结果:
int类型如果要转化为float、double、longdouble类型的时候只是末尾多了几个0,但是反之转化,就会出现数据的损失,小数部位都被省略掉了。
那么我们就可以用这个结果来解决求浮点数个位数的问题
首先我们设置一个浮点数,然后进行类型转换,让这个浮点数只保留整数部分;
double a=0;
int b =0;
scanf(“%lf”,a);//如果定义float型,就%f
b = (int)a;//将a这个浮点数,丢去小数部分变为整数,注意是(int)a,不是(int a)
然后就很简单了,假设我们求千以内的个位数
printf(“%d”,b%10);//
所以整个代码为:
#include<stdio.h>
int main()
{
float a = 0;
int b = 0;
scanf("%f", &a);
b = (int) a;
printf("%d", b % 10);
return 0;
}