我想在C中編寫一個具有一個字符串參數並返回一個雙精度數字的函數。 例如,當字符串爲fsldnf213414fasfa
時,應返回213414
。 但它也應該能夠返回浮點數fasfasf123.412412fasfff
作爲123.412412
。從c中的一個字符串中提取雙倍數字
我已經是隻能提取整數不是浮點功能:
double get_num(const char* s)
{
unsigned int limit = UINT_MAX/10;
double value = 0;
if (!s) {
return 0;
}
for (; *s; ++s) {
if (value < limit) {
if (isdigit(*s)) {
value *= 10;
value += (*s - '0');
}
}
else {
return UINT_MAX;
}
}
return value;
}
檢查['strtod'(HTTP:// EN .cppreference.com/W/C /串/字節/ strtof)。 –
我已經檢查過它,但我還沒有找到一種方法將它返回到一個雙數字,只提取到數字+浮點數+數字。 – inix42