2013-07-20 82 views
5

Mi piacerebbe convertire lo Math.sin(x), dove x in radianti con un risultato che mi darà come x in gradi non in radianti.Conversione del risultato di Math.sin (x) in un risultato per gradi in java

Ho usato il metodo normale e java incorporato nel metodo di conversione tra gradi e radianti, ma qualsiasi argomento che passo al metodo Math.sin() viene trattato come radianti, causando così uno sforzo inutile alla mia conversione.

Voglio l'uscita di un sin Input da dare come se l'input sia trattato in gradi non come il metodo Math.sin().

+0

Sì, è convertire prima il valore dei gradi in un valore in radianti. Cerca "convertire i gradi in radianti" - o meglio, usa 'Math.toRadians'. –

risposta

10

biblioteca di Java Math ti dà metodi per la conversione tra gradi e radianti: toRadians e toDegrees:

public class examples 
{ 
    public static void main(String[] args) 
    { 
     System.out.println(Math.toRadians(180)) ; 
     System.out.println(Math.toDegrees(Math.PI)) ; 
    } 
} 

Se l'input è in gradi, è necessario convertire il numero andando a sin in radianti:

double angle = 90 ; 
double result = Math.sin(Math.toRadians(angle)) ; 
System.out.println(result) ; 
+0

Grazie, ho provato tutto questo prima di fare la domanda, poi ho pensato che qualunque argomento che passo al metodo Math.sin() verrà trattato ha un valore radiante, rendendo difficile per me dare il risultato del Peccato valore di un numero, con il numero in gradi.Per favore Come posso farlo? –

0

È possibile convertire i radianti in gradi come questo:

double rad = 3.14159; 
double deg = rad*180/Math.PI; 

E l'inverso per convertire i gradi in radianti (moltiplicare per pi/180). Non è possibile modificare il "metodo di immissione" per Math.sin (non è possibile indicare alla funzione di utilizzare i gradi anziché i radianti), è possibile modificare solo ciò che si passa come parametro. Se vuoi che il resto del programma funzioni con gradi, devi convertirlo in radianti, specialmente per Math.sin(). In altre parole, moltiplicare il valore gradi di PI e dividere per 180. Per utilizzare questa con Math.sin(), solo convertire in questo modo:

double angle = 90; //90 degrees 
double result = Math.sin(angle*Math.PI/180); 

Usando solo la conversione di per sé non cambia nulla, devi passare il valore convertito alla funzione sin.

+0

Forse ti sei perso che "3.14159" non è mai stato usato come valore di pi, ma solo un angolo in radianti per essere convertito in gradi. 'Math.PI' è stato utilizzato in tutti i luoghi in cui il vero valore di pi era importante. – kevinsa5

1

se il valore di radianti è a, quindi moltiplicare il valore di radiante con (22/7)/180.

Il codice sarebbe come questo per la situazione di cui sopra: -

double rad = 45   // value in radians. 
double deg ; 
deg = rad * Math.PI/180; // value of rad in degrees. 
-1

Se si desidera stampare il peccato (90) valore di gradi, è possibile utilizzare questo codice:

double value = 90.0; 
double radians = Math.toRadians(value); 

System.out.format("The sine of %.1f degrees is %.4f%n", value, Math.sin(radians)); 
Problemi correlati