returns the largest double value that is smaller than d = x * 10exp where x is rounded down to the closest integer. - Java java.lang

Java examples for java.lang:Math Number

Description

returns the largest double value that is smaller than d = x * 10exp where x is rounded down to the closest integer.

Demo Code

/*/*from  ww  w  . ja  va  2s.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;
        int exp = 2;
        System.out.println(floor(d, exp));
    }

    /** This method returns the largest double value that is smaller than
     * <code> d = x * 10<sup>exp</sup></code> where x is rounded down to
     * the closest integer.
     * @param d the double value to be rounded
     * @param exp the exponent of 10 to which d should be rounded
     * @return <code> Math.floor(x) * 10<sup>exp</sup></code>
     */
    public static double floor(double d, int exp) {
        double x = 1.0 * Math.pow(10.0, (double) exp);

        return Math.floor(d / x) * x;
    }
}

Related Tutorials