#include <stdio.h>
#include <math.h>
float mstrtof(char *num){
double n = 0, sign = 1, scale = 0;
int subscale = 0, signsubscale = 1;
if (*num == '-') {
sign = -1, num++; /* Has sign? */
}
while (*num == '0') {
num++;
}
if (*num >= '1' && *num <= '9') {
do {
n = (n * 10.0) + (*num++ - '0');
} while (*num >= '0' && *num <= '9'); /* Number? */
}
if (*num == '.' && num[1] >= '0' && num[1] <= '9') {
num++;
do {
n = (n * 10.0) + (*num++ -'0'), scale--;
} while (*num >= '0' && *num <= '9');
} /* Fractional part? */
if (*num == 'e' || *num == 'E') { /* Exponent? */
num++;
if (*num == '+') {
num++;
} else if (*num == '-') {
signsubscale = -1, num++; /* With sign? */
}
while (*num >= '0' && *num <
字符串转浮点型数据C语言实现
最新推荐文章于 2024-08-07 11:25:27 发布
这篇博客介绍了一种用C语言将字符串转换为浮点数的方法。通过解析字符串中的数字、小数点、指数等部分,计算并返回对应的浮点数值。示例代码中,函数`mstrtof`接收一个字符指针,处理正负号、整数部分、小数部分和指数,最后使用`pow`函数调整基数。

最低0.47元/天 解锁文章
2633

被折叠的 条评论
为什么被折叠?



