errno = 0;
fresult = (strtof) (nptr, &myendptr); if (endptr)
*endptr = myendptr; if (errno)
{ /* On error, just return the error to the caller. */ return fresult;
} elseif ((myendptr == nptr) || isnan(fresult) ||
((fresult >= FLT_MIN || fresult <= -FLT_MIN) && !isinf(fresult)))
{ /* *Ifwegotnothingparseable,orifwegotanon-0non-subnormal *finitevalue(orNaN)withouterror,thenreturnthattothecaller *withouterror.
*/
errno = caller_errno; return fresult;
} else
{ /* *Tryagain.errnoisalready0here,andweassumethattheendptr *won'tbeanydifferent.
*/ double dresult = strtod(nptr, NULL);
if (errno)
{ /* On error, just return the error */ return fresult;
} elseif ((dresult == 0.0 && fresult == 0.0) ||
(isinf(dresult) && isinf(fresult) && (fresult == dresult)))
{ /* both values are 0 or infinities of the same sign */
errno = caller_errno; return fresult;
} elseif ((dresult > 0 && dresult <= FLT_MIN && (float) dresult != 0.0) ||
(dresult < 0 && dresult >= -FLT_MIN && (float) dresult != 0.0))
{ /* subnormal but nonzero value */
errno = caller_errno; return (float) dresult;
} else
{
errno = ERANGE; return fresult;
}
}
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.24Bemerkung:
(vorverarbeitet am 2026-08-06)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.