Gå til innhold

C#: Feil i Math.Sin, bruker feil vinkelmål.


Anbefalte innlegg

Jeg driver å lager en kalkulator med litt mer enn de fire regneartene, og har støtt på et uventet problem. Math.Sin() funksjonen bruker feil vinkelmål.

Console.WriteLine(Math.Sin(30)); // Burde gitt 0,5

men istedenfor gir den 0,988 ettellerannet. Det samme problemet hadde jeg med en Casio kalkulator som vi bruker på skolen, men da kunne man endre til "degree" i instillingene. Det er altså noe lignende jeg må få gjort, men hvordan får jeg gjort det? Noen som har gjort dette før?

Endret av hockey500
Lenke til kommentar
Videoannonse
Annonse
Jeg driver å lager en kalkulator med litt mer enn de fire regneartene, og har støtt på et uventet problem. Math.Sin() funksjonen bruker feil vinkelmål.

Console.WriteLine(Math.Sin(30)); // Burde gitt 0,5

men istedenfor gir den 0,988 ettellerannet. Det samme problemet hadde jeg med en Casio kalkulator som vi bruker på skolen, men da kunne man endre til "degree" i instillingene. Det er altså noe lignende jeg må få gjort, men hvordan får jeg gjort det? Noen som har gjort dette før?

7041770[/snapback]

 

Kan du ikke bare bruke radianer da?

 

Math.Sin( Math.PI / 6 );

 

Eller:

private static double Deg2Rad( double degrees )

{

return degrees * Math.PI * 2 / 360.0;

}

 

static void Main( string[] args )

{

Console.WriteLine( Math.Sin( Math.PI / 6 ) );

Console.WriteLine( Math.Sin( Deg2Rad(30) ) );

Console.ReadKey();

}

Lenke til kommentar

det kan jeg sikkert, men når jeg ikke engang har lært om sinus og trigonometri på skolen er det ikke så enkelt å tenke seg til hvordan jeg skal regne det ut. aner ikke engang hva radianer er, men koden din funker sikkert.

 

EDIT: jada, ditt forslag funka flott :thumbup:

Endret av hockey500
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...