DecimalFormat format=DecimalFormat.getInstance(); DecimalFormatSymbols symbols=format.getDecimalFormatSymbols(); char sep=symbols.getDecimalSeparator();
/** * The {@link NumberFormat} to use for parsing numbers. If unset the US * locale will be used ('.' as decimal place). * @param numberFormat the {@link NumberFormat} to use for number parsing */ public final void setNumberFormat(NumberFormat numberFormat) { this.numberFormat = numberFormat; if (numberFormat instanceof DecimalFormat) { grouping = "" + ((DecimalFormat) numberFormat).getDecimalFormatSymbols().getGroupingSeparator(); decimal = "" + ((DecimalFormat) numberFormat).getDecimalFormatSymbols().getDecimalSeparator(); } }
DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(Locale.US); DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols(); symbols.setGroupingSeparator(' '); formatter.setDecimalFormatSymbols(symbols); System.out.println(formatter.format(bd.longValue()));
private String getNumeral(String digit, String nonZeroDigit) { String groupSeparator = "\\" + decimalFormat.getDecimalFormatSymbols().getGroupingSeparator(); String groupedNumeral = "(" + nonZeroDigit + digit + "?" + digit + "?" + "(" + groupSeparator + digit + digit + digit + ")+)"; return "((" + digit + "++)|" + groupedNumeral + ")"; }
NumberFormat nf = NumberFormat.getCurrencyInstance(); DecimalFormatSymbols decimalFormatSymbols = ((DecimalFormat) nf).getDecimalFormatSymbols(); decimalFormatSymbols.setCurrencySymbol(""); ((DecimalFormat) nf).setDecimalFormatSymbols(decimalFormatSymbols); System.out.println(nf.format(12345.124).trim());
DecimalFormat formatter = (DecimalFormat) NumberFormat.getCurrencyInstance(Locale.US); DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols(); symbols.setCurrencySymbol(""); // Don't use null. formatter.setDecimalFormatSymbols(symbols); System.out.println(formatter.format(12.3456)); // 12.35
protected static int determinePrecision( String numericFormat ) { if ( numericFormat != null ) { char decimalSymbol = ( (DecimalFormat) NumberFormat.getInstance() ).getDecimalFormatSymbols().getDecimalSeparator(); int loc = numericFormat.lastIndexOf( decimalSymbol ); if ( loc >= 0 && loc < numericFormat.length() ) { Matcher m = PRECISION_PATTERN.matcher( numericFormat.substring( loc + 1 ) ); int nonDigitLoc = numericFormat.length(); if ( m.find() ) { nonDigitLoc = loc + 1 + m.start(); } return numericFormat.substring( loc + 1, nonDigitLoc ).length(); } else { return 0; } } else { return 0; } }
public void setDefault() { int i, nrfields = 0; allocate( nrfields ); DecimalFormat decimalFormat = new DecimalFormat(); for ( i = 0; i < nrfields; i++ ) { fieldName[i] = "field" + i; fieldType[i] = "Number"; fieldFormat[i] = "\u00A40,000,000.00;\u00A4-0,000,000.00"; fieldLength[i] = 9; fieldPrecision[i] = 2; currency[i] = decimalFormat.getDecimalFormatSymbols().getCurrencySymbol(); decimal[i] = new String( new char[] { decimalFormat.getDecimalFormatSymbols().getDecimalSeparator() } ); group[i] = new String( new char[] { decimalFormat.getDecimalFormatSymbols().getGroupingSeparator() } ); value[i] = "-"; setEmptyString[i] = false; } }
@Override public void setDefault() { int i, nrfields = 0; allocate( nrfields ); DecimalFormat decimalFormat = new DecimalFormat(); for ( i = 0; i < nrfields; i++ ) { fieldName[i] = "field" + i; fieldType[i] = "Number"; fieldFormat[i] = "\u00A40,000,000.00;\u00A4-0,000,000.00"; fieldLength[i] = 9; fieldPrecision[i] = 2; currency[i] = decimalFormat.getDecimalFormatSymbols().getCurrencySymbol(); decimal[i] = new String( new char[] { decimalFormat.getDecimalFormatSymbols().getDecimalSeparator() } ); group[i] = new String( new char[] { decimalFormat.getDecimalFormatSymbols().getGroupingSeparator() } ); setEmptyString[i] = false; } dataLines = new ArrayList<List<String>>(); }
public void setDefault() { int i, nrfields = 0; allocate( nrfields ); DecimalFormat decimalFormat = new DecimalFormat(); for ( i = 0; i < nrfields; i++ ) { fieldName[i] = "field" + i; fieldType[i] = "Number"; fieldFormat[i] = "\u00A40,000,000.00;\u00A4-0,000,000.00"; fieldLength[i] = 9; fieldPrecision[i] = 2; currency[i] = decimalFormat.getDecimalFormatSymbols().getCurrencySymbol(); decimal[i] = new String( new char[] { decimalFormat.getDecimalFormatSymbols().getDecimalSeparator() } ); group[i] = new String( new char[] { decimalFormat.getDecimalFormatSymbols().getGroupingSeparator() } ); value[i] = "-"; setEmptyString[i] = false; } rowLimit = "10"; neverEnding = false; intervalInMs = "5000"; rowTimeField = "now"; lastTimeField = "FiveSecondsAgo"; }
/** * Compares the specified object to this decimal format and indicates if * they are equal. In order to be equal, {@code object} must be an instance * of {@code DecimalFormat} with the same pattern and properties. * * @param object * the object to compare with this object. * @return {@code true} if the specified object is equal to this decimal * format; {@code false} otherwise. * @see #hashCode */ @Override public boolean equals(Object object) { if (this == object) { return true; } if (!(object instanceof DecimalFormat)) { return false; } DecimalFormat other = (DecimalFormat) object; return (this.ndf == null ? other.ndf == null : this.ndf.equals(other.ndf)) && getDecimalFormatSymbols().equals(other.getDecimalFormatSymbols()); }
DecimalFormat df = (DecimalFormat) numberFormat; char lastChar = string.charAt(position.getIndex() - 1); char minusSign = df.getDecimalFormatSymbols().getMinusSign(); if (lastChar == minusSign) {
private String removeLocaleInfo(String token, Class<?> type) { DecimalFormatSymbols dfs = decimalFormat.getDecimalFormatSymbols();
inilen = et.getText().length(); String v = s.toString().replace(String.valueOf(df.getDecimalFormatSymbols().getGroupingSeparator()), ""); Number n = df.parse(v); int cp = et.getSelectionStart(); if (s.toString().contains(String.valueOf(df.getDecimalFormatSymbols().getDecimalSeparator())))
private Pattern getFloatPattern() { if (decimalFormat == null) { decimalFormat = (DecimalFormat) NumberFormat.getInstance(locale); } if (cachedFloatPattern != null) { return cachedFloatPattern; } DecimalFormatSymbols dfs = decimalFormat.getDecimalFormatSymbols(); String digit = "([0-9]|(\\p{javaDigit}))"; String nonZeroDigit = "[\\p{javaDigit}&&[^0]]"; String numeral = getNumeral(digit, nonZeroDigit); String decimalSeparator = "\\" + dfs.getDecimalSeparator(); String decimalNumeral = "(" + numeral + "|" + numeral + decimalSeparator + digit + "*+|" + decimalSeparator + digit + "++)"; String exponent = "([eE][+-]?" + digit + "+)?"; String decimal = "(([-+]?" + decimalNumeral + "(" + exponent + "?)" + ")|" + "(" + addPositiveSign(decimalNumeral) + "(" + exponent + "?)" + ")|" + "(" + addNegativeSign(decimalNumeral) + "(" + exponent + "?)" + "))"; String hexFloat = "([-+]?0[xX][0-9a-fA-F]*\\.[0-9a-fA-F]+([pP][-+]?[0-9]+)?)"; String localNaN = dfs.getNaN(); String localeInfinity = dfs.getInfinity(); String nonNumber = "(NaN|\\Q" + localNaN + "\\E|Infinity|\\Q" + localeInfinity + "\\E)"; String signedNonNumber = "((([-+]?(" + nonNumber + ")))|" + "(" + addPositiveSign(nonNumber) + ")|" + "(" + addNegativeSign(nonNumber) + "))"; cachedFloatPattern = Pattern.compile(decimal + "|" + hexFloat + "|" + signedNonNumber); return cachedFloatPattern; }
decimalFormat = (DecimalFormat) NumberFormat.getInstance(); decimalFormat.setParseBigDecimal( useBigDecimal ); DecimalFormatSymbols decimalFormatSymbols = decimalFormat.getDecimalFormatSymbols();
Integer.valueOf(nDigitsPerGroupValue).intValue()); DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols(); symbols.setGroupingSeparator(digitGroupSepValue.charAt(0)); formatter.setDecimalFormatSymbols(symbols);
Integer.valueOf(nDigitsPerGroupValue).intValue()); DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols(); symbols.setGroupingSeparator(digitGroupSepValue.charAt(0)); formatter.setDecimalFormatSymbols(symbols);
conversionMeta.setConversionMask( currencyMask ); conversionMeta.setTrimType( trimType ); conversionMeta.setDecimalSymbol( String.valueOf( currencyFormat.getDecimalFormatSymbols().getDecimalSeparator() ) ); conversionMeta.setGroupingSymbol( String.valueOf( currencyFormat.getDecimalFormatSymbols().getGroupingSeparator() ) ); conversionMeta.setCurrencySymbol( currencyFormat.getCurrency().getSymbol() ); conversionMeta.setLength( 15 );
public class MyMain { public static void main(String[] args) { DecimalFormat decFormat = new DecimalFormat(); DecimalFormatSymbols decSymbols = decFormat.getDecimalFormatSymbols(); String localeProvidersList = System.getProperty("java.locale.providers", "JRE,SPI"); System.out.println("Decimal separator is : " + decSymbols.getDecimalSeparator()); System.out.println("Thousands separator is : " + decSymbols.getGroupingSeparator()); System.out.println("Locale providers list : " + localeProvidersList); } }