Java examples for java.lang:Math Algorithm
A double value can be represented like d = x * 10exp and this method returns the value of exp for a double d.
/*/*w w w . j a v a2s.c o m*/ JOpenChart Java Charting Library and Toolkit Copyright (C) 2001 Sebastian M?ller http://jopenchart.sourceforge.net This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ChartUtilities.java Created on 21. September 2001, 17:42 */ //package com.java2s; public class Main { public static void main(String[] argv) throws Exception { double d = 2.45678; System.out.println(exp(d)); } /** A double value can be represented like * <code>d = x * 10<sup>exp</sup></code> and this method returns * the value of exp for a double d. * @param d the double value * @return the exponent of 10 */ public static int exp(double d) { int exp = 0; boolean positive = (d <= -1 || d >= 1); while ((d <= -10) || (d >= 10) || ((d > -1) && (d < 1))) { if (positive) { d /= 10; exp++; } else { d *= 10; exp--; } } return exp; } }