File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Beginning Java and the fly likes Bad precision Math.log10? [solved: user error] Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "Bad precision Math.log10? [solved: user error]" Watch "Bad precision Math.log10? [solved: user error]" New topic

Bad precision Math.log10? [solved: user error]

Carl Pettersson
Ranch Hand

Joined: Sep 09, 2003
Posts: 73
I'm having trouble getting good results with quite simple calculations with Math.log10. For instance, I get Math.log10(16)/Math.log10(2)=3.906890595..., but I should get 4.0... Why is this? I'm not doing anything fancy at all, just

to do a base conversion...
I'm using JDK1.6.0_05-b13 on SunOS(sparc SUNW,ultra-4)
[ July 03, 2008: Message edited by: Carl Pettersson ]
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 15033

I tried this just now on Windows XP, with Sun Java 1.6.0 update 6:

The output is: 4.0

You probably know that data types such as double are not infinitely precise. Do you yet 3.90... if you run that exact code? That would be strange. You could try searching the Sun bug database if there's a known issue with regard to this on SunOS.

Do you have another computer (with maybe a different OS) on which you can test your code?

Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 8 API documentation
Carl Pettersson
Ranch Hand

Joined: Sep 09, 2003
Posts: 73
It is never too late to be stupid... I've been misreading my output for a few hours straight now About time I call it a day I think. Sorry for any wasted effort...
I agree. Here's the link:
subject: Bad precision Math.log10? [solved: user error]
It's not a secret anymore!