2023-12-17 05:39来源:m.sf1369.com作者:宇宇
可以利用C语言的强制转换规则。
C语言规定,当浮点数强制转换为整型类型时,只保留整数部分。
所以对于浮点数,比如float类型a, 执行(int)a后的值就是整数部分。
这样当执行a-(int)a时,得到的就是小数部分的值了。
如果该功能经常使用,那么可以定义一个带参数的宏
#define DECIMAL(X) (x-(int)x)
这样执行DECIMAL(a)得到的值就是t的小数部分。
1、先把浮点数变成字符串,再通过小数点确定小点后面的位数。
2、例程:
#include <stdio.h>
#include <string.h>
void main() {
char * ptr;
char strFloat[20];
float number=100.25432;
sprintf(strFloat, %f, number);
ptr = strstr(strFloat, .);
if (ptr != NULL) {
printf(digits after decimal point: %d\n, strlen(ptr) - 1);
}
}