2013-07-20 55 views
5

Tôi muốn chuyển đổi Math.sin(x), trong đó x theo radian thành kết quả sẽ cho tôi dưới dạng x theo độ không radian.Chuyển đổi kết quả của Math.sin (x) thành kết quả cho độ trong java

Tôi đã sử dụng phương pháp bình thường và java được xây dựng theo phương pháp chuyển đổi giữa độ và radian, nhưng bất kỳ đối số nào tôi chuyển sang phương thức Math.sin() đều được coi là radian, do đó chuyển đổi của tôi trở thành nỗ lực vô ích.

Tôi muốn đầu ra của một sin Đầu vào được đưa ra như thể đầu vào được xử lý theo độ không radian như phương pháp Math.sin().

+0

Có, bạn chuyển đổi giá trị độ của bạn thành giá trị radian trước. Tìm kiếm "convert degrees to radians" - hoặc tốt hơn, sử dụng 'Math.toRadians'. –

Trả lời

10

thư viện Math Java cung cấp cho bạn các phương pháp để chuyển đổi giữa độ và radian: toRadianstoDegrees:

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

Nếu đầu vào của bạn là theo độ, bạn cần phải chuyển đổi số đi theo để sin để radian:

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

Cảm ơn, tôi đã thử tất cả những điều này trước khi hỏi câu hỏi, sau đó tôi thừa nhận rằng bất kỳ đối số nào tôi chuyển sang phương thức Math.sin() sẽ được xử lý có giá trị radian, khiến tôi khó đưa ra kết quả của Giá trị sin của một số, với số đang ở độ.Xin Làm cách nào tôi có thể làm điều đó? –

0

Bạn có thể chuyển đổi radian sang độ như thế này:

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

Và ngược lại để chuyển đổi độ sang radian (nhân với pi/180). Bạn không thể thay đổi "phương thức nhập" cho Math.sin (bạn không thể cho biết hàm sử dụng độ thay vì radians), bạn chỉ có thể thay đổi những gì bạn chuyển nó thành tham số. Nếu bạn muốn phần còn lại của chương trình làm việc với các mức độ, bạn phải chuyển đổi nó thành radian, đặc biệt là đối với Math.sin(). Nói cách khác, nhân giá trị độ bởi pi và chia cho 180. Để sử dụng điều này với Math.sin(), chỉ cần chuyển đổi nó như vậy:

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

Chỉ cần sử dụng các chuyển đổi bằng cách riêng của mình không thay đổi bất cứ điều gì, bạn phải chuyển giá trị được chuyển đổi sang hàm sin.

+0

Có lẽ bạn đã bỏ lỡ rằng '3.14159' không bao giờ được sử dụng như một giá trị của pi, nhưng chỉ đơn thuần là một góc trong radian được chuyển đổi thành độ. 'Math.PI' được sử dụng trong tất cả những nơi mà giá trị thực của pi là quan trọng. – kevinsa5

1

nếu giá trị radian của bạn là a, sau đó nhân giá trị radian với (22/7)/180.

Mã này sẽ là như thế này cho tình hình trên: -

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

Nếu bạn muốn in sin (90) giá trị độ, bạn có thể sử dụng mã này:

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

System.out.format("The sine of %.1f degrees is %.4f%n", value, Math.sin(radians)); 
Các vấn đề liên quan