⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 decimalformatsymbols.java

📁 linux下编程用 编译软件
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* DecimalFormatSymbols.java -- Format symbols used by DecimalFormat   Copyright (C) 1999, 2000, 2001, 2004 Free Software Foundation, Inc.This file is part of GNU Classpath.GNU Classpath is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2, or (at your option)any later version. GNU Classpath is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public Licensealong with GNU Classpath; see the file COPYING.  If not, write to theFree Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA02110-1301 USA.Linking this library statically or dynamically with other modules ismaking a combined work based on this library.  Thus, the terms andconditions of the GNU General Public License cover the wholecombination.As a special exception, the copyright holders of this library give youpermission to link this library with independent modules to produce anexecutable, regardless of the license terms of these independentmodules, and to copy and distribute the resulting executable underterms of your choice, provided that you also meet, for each linkedindependent module, the terms and conditions of the license of thatmodule.  An independent module is a module which is not derived fromor based on this library.  If you modify this library, you may extendthis exception to your version of the library, but you are notobligated to do so.  If you do not wish to do so, delete thisexception statement from your version. */package java.text;import java.io.IOException;import java.io.ObjectInputStream;import java.io.Serializable;import java.util.Currency;import java.util.Locale;import java.util.MissingResourceException;import java.util.ResourceBundle;/** * This class is a container for the symbols used by  * <code>DecimalFormat</code> to format numbers and currency * for a particular locale.  These are * normally handled automatically, but an application can override * values as desired using this class. * * @author Tom Tromey (tromey@cygnus.com) * @author Aaron M. Renn (arenn@urbanophile.com) * @author Andrew John Hughes (gnu_andrew@member.fsf.org) * @date February 24, 1999 * @see java.text.DecimalFormat *//* Written using "Java Class Libraries", 2nd edition, plus online * API docs for JDK 1.2 from http://www.javasoft.com. * Status:  Believed complete and correct to 1.2. */public final class DecimalFormatSymbols implements Cloneable, Serializable{  public Object clone ()  {    try      {	return super.clone ();      }    catch(CloneNotSupportedException e)      {	return null;      }  }  /**   * This method initializes a new instance of   * <code>DecimalFormatSymbols</code> for the default locale.   */  public DecimalFormatSymbols ()  {    this (Locale.getDefault());  }  /**   * Retrieves a valid string, either using the supplied resource   * bundle or the default value.   *   * @param bundle the resource bundle to use to find the string.   * @param name key for the string in the resource bundle.   * @param def default value for the string.   */  private String safeGetString(ResourceBundle bundle,                               String name, String def)  {    if (bundle != null)      {	try	  {	    return bundle.getString(name);	  }	catch (MissingResourceException x)	  {	  }      }    return def;  }  private char safeGetChar(ResourceBundle bundle,                           String name, char def)  {    String r = null;    if (bundle != null)      {	try	  {	    r = bundle.getString(name);	  }	catch (MissingResourceException x)	  {	  }      }    if (r == null || r.length() < 1)      return def;    return r.charAt(0);  }  /**   * This method initializes a new instance of   * <code>DecimalFormatSymbols</code> for the specified locale.   * <strong>Note</strong>: if the locale does not have an associated   * <code>Currency</code> instance, the currency symbol and   * international currency symbol will be set to the strings "?"   * and "XXX" respectively.  This generally happens with language   * locales (those with no specified country), such as   * <code>Locale.ENGLISH</code>.   *   * @param loc The local to load symbols for.   * @throws NullPointerException if the locale is null.   */  public DecimalFormatSymbols (Locale loc)  {    ResourceBundle res;    currency = Currency.getInstance("XXX");    currencySymbol = "?";    intlCurrencySymbol = "XXX";    try      {	res = ResourceBundle.getBundle("gnu.java.locale.LocaleInformation",		loc, ClassLoader.getSystemClassLoader());      }    catch (MissingResourceException x)      {	res = null;      }    try      {	Currency localeCurrency = Currency.getInstance(loc);	if (localeCurrency != null)	  {	    setCurrency(localeCurrency);	  }      }    catch(IllegalArgumentException exception)      {	/* Locale has an invalid currency */      }    decimalSeparator = safeGetChar (res, "decimalSeparator", '.');    digit = safeGetChar (res, "digit", '#');    exponential = safeGetChar (res, "exponential", 'E');    groupingSeparator = safeGetChar (res, "groupingSeparator", ',');    infinity = safeGetString (res, "infinity", "\u221e");    try      {	monetarySeparator = safeGetChar (res, "monetarySeparator", '.');      }    catch (MissingResourceException x)      {	monetarySeparator = decimalSeparator;      }    minusSign = safeGetChar (res, "minusSign", '-');    NaN = safeGetString (res, "NaN", "\ufffd");    patternSeparator = safeGetChar (res, "patternSeparator", ';');    percent = safeGetChar (res, "percent", '%');    perMill = safeGetChar (res, "perMill", '\u2030');    zeroDigit = safeGetChar (res, "zeroDigit", '0');    locale = loc;  }  /**   * This method this this object for equality against the specified object.   * This will be true if and only if the following criteria are met with   * regard to the specified object:   * <p>   * <ul>   * <li>It is not <code>null</code>.</li>   * <li>It is an instance of <code>DecimalFormatSymbols</code>.</li>   * <li>All of its symbols are identical to the symbols in this object.</li>   * </ul>   *   * @return <code>true</code> if the specified object is equal to this   * object, <code>false</code> otherwise.   */  public boolean equals (Object obj)  {    if (! (obj instanceof DecimalFormatSymbols))      return false;    DecimalFormatSymbols dfs = (DecimalFormatSymbols) obj;    return (currencySymbol.equals(dfs.currencySymbol)	    && decimalSeparator == dfs.decimalSeparator	    && digit == dfs.digit	    && exponential == dfs.exponential	    && groupingSeparator == dfs.groupingSeparator	    && infinity.equals(dfs.infinity)	    && intlCurrencySymbol.equals(dfs.intlCurrencySymbol)	    && minusSign == dfs.minusSign	    && monetarySeparator == dfs.monetarySeparator	    && NaN.equals(dfs.NaN)	    && patternSeparator == dfs.patternSeparator	    && percent == dfs.percent	    && perMill == dfs.perMill	    && zeroDigit == dfs.zeroDigit);  }  /**   * Returns the currency corresponding to the currency symbol stored   * in this instance of <code>DecimalFormatSymbols</code>.   *   * @return An instance of <code>Currency</code> which matches   *         the currency used, or null if there is no corresponding   *         instance.   */  public Currency getCurrency ()  {    return currency;  }  /**   * This method returns the currency symbol in local format.  For example,   * "$" for Canadian dollars.   *   * @return The currency symbol in local format.   */  public String getCurrencySymbol ()  {    return currencySymbol;  }  /**   * This method returns the character used as the decimal point.   *   * @return The character used as the decimal point.   */  public char getDecimalSeparator ()  {    return decimalSeparator;  }  /**   * This method returns the character used to represent a digit in a   * format pattern string.   *   * @return The character used to represent a digit in a format   * pattern string.    */  public char getDigit ()  {    return digit;  }  /**   * This method returns the character used to represent the exponential   * format.  This is a GNU Classpath extension.   *   * @return the character used to represent an exponential in a format   *         pattern string.   */  char getExponential ()  {    return exponential;  }  /**   * This method sets the character used to separate groups of digits.  For   * example, the United States uses a comma (,) to separate thousands in   * a number.   *   * @return The character used to separate groups of digits.   */  public char getGroupingSeparator ()  {    return groupingSeparator;  }  /**   * This method returns the character used to represent infinity.   *   * @return The character used to represent infinity.   */  public String getInfinity ()  {    return infinity;  }  /**   * This method returns the ISO 4217 currency code for   * the currency used.   *   * @return the ISO 4217 currency code.   */  public String getInternationalCurrencySymbol ()  {    return intlCurrencySymbol;  }  /**   * This method returns the character used to represent the minus sign.   *   * @return The character used to represent the minus sign.   */  public char getMinusSign ()  {    return minusSign;  }  /**   * This method returns the character used to represent the decimal   * point for currency values.   *   * @return The decimal point character used in currency values.   */  public char getMonetaryDecimalSeparator ()  {    return monetarySeparator;  }  /**   * This method returns the string used to represent the NaN (not a number)   * value.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -