Java examples for java.lang:double Format
Formats a double to produce a string with a number of fraction digits.
/**/* w w w . j a v a 2 s . c om*/ * Copyright (C) 2012 Red Hat, Inc. and/or its affiliates. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ //package com.java2s; import java.text.DecimalFormat; import java.text.DecimalFormatSymbols; import java.util.Locale; public class Main { /** * Formats a double to produce a string with a number of fraction * digits. * * @param origin double to format * @param decimals number of fraction digits * @return Formatted string. */ public static String doubleToStr(double origin, int decimals) { return getFormat(decimals).format(new Double(origin)); } /** * Formats a Number to produce a string with a number of fraction * digits. * * @param origin Number to format * @param decimals number of fraction digits * @return Formatted string. */ public static String doubleToStr(Number origin, int decimals) { return getFormat(decimals).format(origin); } /** * Returns the decimal formatter, which has a number of decimals. * * @param decimals number of decimals * @return desired DecimalFormat */ private static DecimalFormat getFormat(int decimals) { DecimalFormat df; df = (DecimalFormat) DecimalFormat.getInstance(Locale.getDefault()); DecimalFormatSymbols dsym = df.getDecimalFormatSymbols(); char decimalSeparator = dsym.getDecimalSeparator(); StringBuffer pattern = new StringBuffer("0"); pattern.append(decimalSeparator); for (int i = 0; i < decimals; i++) pattern.append("0"); DecimalFormat numberFormat = new DecimalFormat(pattern.toString()); DecimalFormatSymbols decimalSymb; decimalSymb = numberFormat.getDecimalFormatSymbols(); numberFormat.setGroupingSize(50); decimalSymb.setDecimalSeparator(decimalSeparator); numberFormat.setDecimalFormatSymbols(decimalSymb); return numberFormat; } }