This week's book giveaway is in the Jobs Discussion forum.
We're giving away four copies of Customer Requirements for Developers and have Marcho Behler on-line!
See this thread for details.
The moose likes Beginning Java and the fly likes problems with Math.tan Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Customer Requirements for Developers this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "problems with Math.tan" Watch "problems with Math.tan" New topic

problems with Math.tan

Kevin de Berk

Joined: Nov 04, 2003
Posts: 3
The following code:

Gives the following output:
degrees = 72.0
tanDegrees = -0.26241737750193517

While my calculator returns something different:

What am I doing wrong in the Java source?
[ January 10, 2004: Message edited by: Kevin de Berk ]
Jim Yingst

Joined: Jan 30, 2000
Posts: 18671
You're assuming that the tan funtion uses degrees. It doesn't - the API says it uses radians (pi=3.1419... radians equals 180 degrees). Most calculators have several possible modes - a "DRG" button toggles between degrees mode, radians mode, and grad mode (which has 100 grads in a 90 degree angle; seldom used). Your calculator is currently in degrees mode. Java's Math class doesn't have these modes; it always uses radians because that's the most mathematically natural mode to use. (Computations are actually simplest for the computer this way.) But you can use the toDegrees() and toRadians() methods to convert between radians and degrees.

"I'm not back." - Bill Harding, Twister
Kevin de Berk

Joined: Nov 04, 2003
Posts: 3
Well, thanks mate
jQuery in Action, 3rd edition
subject: problems with Math.tan
It's not a secret anymore!