Testissä tuli vastaan yllätys. modf() muuttaa negatiivisten radiaanien kokonaisosat positiivisiksi ja jättää jakojäännöksen negatiiviseksi. Miten korjaan tämän siten, että funktio käsittelee myös negatiiviset radiaanit oikein ? JVM.
#include <math.h>
struct OSA
{
double rad;
double aste;
double min;
double sek;
}testiosa;
/* Radiaanit asteiksi, minuuteiksi ja sekunneiksi */
void Radtodeg( struct OSA *osa )
{
double aste, min, sek, kokaste, kokmin;
aste = testiosa.rad * 180/M_PI;
min = modf( aste, &kokaste );
osa->aste = kokaste;
min = min * 60;
sek = modf( min, &kokmin );
osa->min = kokmin;
osa->sek = sek * 60;
}Aihe on jo aika vanha, joten et voi enää vastata siihen.