Java Fraction Format formatNumber(Double numberToFormat, int decimalPlacement)

Here you can find the source of formatNumber(Double numberToFormat, int decimalPlacement)

Description

format Number

License

Open Source License

Parameter

Parameter Description
numberToFormat a parameter
decimalPlacement a parameter

Return

the number with the desired decimal placements

Declaration

public static Double formatNumber(Double numberToFormat, int decimalPlacement) 

Method Source Code

//package com.java2s;
/**/*from   w w w .  ja v a 2 s.  c  o m*/
 * Copyright ? 2002 Instituto Superior T?cnico
 *
 * This file is part of FenixEdu Core.
 *
 * FenixEdu Core 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 3 of the License, or
 * (at your option) any later version.
 *
 * FenixEdu Core 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 FenixEdu Core.  If not, see <http://www.gnu.org/licenses/>.
 */

import java.text.FieldPosition;
import java.text.NumberFormat;

public class Main {
    /**
     * 
     * @param numberToFormat
     * @param decimalPlacement
     * @return the number with the desired decimal placements
     */
    public static Double formatNumber(Double numberToFormat, int decimalPlacement) {

        if (decimalPlacement == 0) {
            return new Double(Math.round(numberToFormat.floatValue()));
        }

        NumberFormat numberFormat = NumberFormat.getInstance();
        StringBuffer stringBuffer = new StringBuffer();
        FieldPosition fieldPosition = new FieldPosition(0);

        numberFormat.setGroupingUsed(false);
        numberFormat.setMaximumFractionDigits(decimalPlacement);

        numberFormat.format(numberToFormat, stringBuffer, fieldPosition);

        int commaPosition = stringBuffer.indexOf(",");

        if (commaPosition != -1) {
            stringBuffer = stringBuffer.replace(commaPosition, commaPosition + 1, ".");
        }

        numberToFormat = new Double(stringBuffer.toString());
        return numberToFormat;
    }
}

Related

  1. formatNumber(double number)
  2. formatNumber(double number)
  3. formatNumber(double number, int decimal)
  4. formatNumber(double number, int val)
  5. formatNumber(Double number, String pattern)
  6. formatNumber(double paramDouble, int paramInt)
  7. formatNumber(double pValue)
  8. formatNumber(double value)
  9. formatNumber(double value, double epsilon)