Java Double Number Round round(double value, int decimals)

Here you can find the source of round(double value, int decimals)

Description

Rounds given value to requested number of decimals

License

Open Source License

Parameter

Parameter Description
value value to round, ex: 1.2345
decimals number of decimals, ex: 2

Return

rounding result, ex: 1.23 for value=1.2345 and decimals=2

Declaration

public static double round(double value, int decimals) 

Method Source Code

//package com.java2s;
/*//from w w w. j a  va 2 s  . com
MIT License
    
Copyright (c) 2017 Mihai Bunea
    
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
    
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
    
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*/

public class Main {
    /**
     * Rounds given value to requested number of decimals
     * @param value value to round, ex: 1.2345
     * @param decimals number of decimals, ex: 2
     * @return rounding result, ex: 1.23 for value=1.2345 and decimals=2
     */
    public static double round(double value, int decimals) {
        if (decimals < 0) {
            throw new RuntimeException("Decimals must be positive or zero");
        }

        double powerOfTen = Math.pow(10.0, decimals);
        double multipliedByPower = value * powerOfTen;
        long rounded = Math.round(multipliedByPower);
        double divided = (double) rounded / powerOfTen;
        return divided;
    }
}

Related

  1. round(double value, int decimal)
  2. round(double value, int decimalPlace)
  3. round(double value, int decimalPlaces)
  4. round(double value, int decimalPlaces)
  5. round(double value, int decimals)
  6. round(double value, int exponent)
  7. round(double value, int nbDigits)
  8. round(double value, int numberOfDecimalPlaces)
  9. round(double value, int numDecimals)