float a = 8250325.12f; float b = 4321456.31f; float c = a + b; System.out.println(NumberFormat.getCurrencyInstance().format(c)); // prints $12,571,782.00 (wrong) BigDecimal a1 = new BigDecimal("8250325.12"); BigDecimal b1 = new BigDecimal("4321456.31"); BigDecimal c1 = a1.add(b1); System.out.println(NumberFormat.getCurrencyInstance().format(c1)); // prints $12,571,781.43 (right)
/** * Format number. * @param n number to format, may not be null. * @return formatted value. */ private static synchronized String formatNumber(final Object n) { Locale currentLocale = Locale.getDefault(); if (currentLocale != numberLocale || numberFormat == null) { numberLocale = currentLocale; numberFormat = NumberFormat.getInstance(currentLocale); } return numberFormat.format(n); }
public static String offset2FileName(final long offset) { final NumberFormat nf = NumberFormat.getInstance(); nf.setMinimumIntegerDigits(20); nf.setMaximumFractionDigits(0); nf.setGroupingUsed(false); return nf.format(offset); }
public String nextAnchor(Node node) { this.lastAnchorId++; NumberFormat format = NumberFormat.getNumberInstance(); format.setMinimumIntegerDigits(3); format.setMaximumFractionDigits(0);// issue 172 format.setGroupingUsed(false); String anchorId = format.format(this.lastAnchorId); return "id" + anchorId; } }
/** * Returns the formatted string of the elapsed time. */ public String elapsedTimeAsString(long runTime) { return NumberFormat.getInstance().format((double) runTime / 1000); }
@Test public void parseLocalizedBigDecimalNumber3() { String bigDecimalAsString = "3.14159265358979323846"; NumberFormat numberFormat = NumberFormat.getInstance(Locale.ENGLISH); Number bigDecimal = NumberUtils.parseNumber(bigDecimalAsString, BigDecimal.class, numberFormat); assertEquals(new BigDecimal(bigDecimalAsString), bigDecimal); }
BigDecimal numerator = new BigDecimal(5); BigDecimal denominator = new BigDecimal(2); //In current scenario Locale locale = new Locale("de", "DE"); NumberFormat format = DecimalFormat.getInstance(locale); String number = format.format(numerator.divide(denominator)); System.out.println("Parsed value is "+number); The output here will be 2,5
double d = 1.2345; DecimalFormat df = new DecimalFormat("#0.00"); System.out.println(df.format(d)); // will print 1.23 d = 3.400; System.out.println(df.format(d)); // will print 3.40 d = 3.456; System.out.println(df.format(d)); // will print 3.46 BigDecimal b = new BigDecimal(0.20001); System.out.println(df.format(b)); // will print 0.20
DecimalFormat df = (DecimalFormat) NumberFormat.getInstance(Locale.GERMAN); df.setParseBigDecimal(true); BigDecimal bd = (BigDecimal) df.parseObject(numberString); System.out.println(bd.toString()); } catch (ParseException e) { e.printStackTrace(); NumberFormat nf = NumberFormat.getInstance(Locale.GERMAN); try { BigDecimal bd1 = new BigDecimal(nf.parse(numberString).toString()); System.out.println(bd1.toString()); } catch (ParseException e) { e.printStackTrace();
BigDecimal a = new BigDecimal("-54125412512.231515235346"); BigDecimal b = new BigDecimal("-1231254125412512.231515235346"); NumberFormat formatter = new DecimalFormat("#,###"); formatter.setRoundingMode(RoundingMode.HALF_UP); formatter.setMinimumFractionDigits(4); formatter.setMaximumFractionDigits(4); System.out.println("Number : " + formatter.format(a)); System.out.println("Number : " + formatter.format(b));
public static String readableFileSize(long size) { if(size <= 0) return "0"; final String[] units = new String[] { "B", "kB", "MB", "GB", "TB" }; int digitGroups = (int) (Math.log10(size)/Math.log10(1024)); return new DecimalFormat("#,##0.#").format(size/Math.pow(1024, digitGroups)) + " " + units[digitGroups]; }
static DecimalFormat decConv = new DecimalFormat("00.00"); private JButton convertDegreesToDecimal; private JButton convertDecimalToDegreesButton; JFrame window = new JFrame(); window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); window.setVisible(true); window.setLayout(new GridLayout(2, 1)); decimalPanel.setLayout(new FlowLayout()); decimalInput = new JFormattedTextField( DecimalFormat.getInstance()); decimalInput.setColumns(5); convertDecimalToDegreesButton = new JButton("convert"); degreesPanel.setLayout(new FlowLayout()); degreesInput = new JFormattedTextField( NumberFormat.getIntegerInstance()); degreesInput.setColumns(2); minutesInput = new JFormattedTextField( NumberFormat.getIntegerInstance()); minutesInput.setColumns(2); secondsInput = new JFormattedTextField( DecimalFormat.getInstance()); secondsInput.setColumns(5);
String number = "12345678910111213141516000"; BigDecimal bd = new BigDecimal(number); DecimalFormat formatter = new DecimalFormat("#,###,###,###.#####"); System.out.println("You want it : " + formatter.format(bd)); Number num = formatter.parse(number); System.out.println("You don't want it : " + formatter.format(num));
String s = "100000"; Locale dutch = new Locale("nl", "NL"); NumberFormat numberFormatDutch = NumberFormat.getCurrencyInstance(dutch); String c = numberFormatDutch.format(new BigDecimal(s.toString())); System.out.println("Currency Format: "+ c); try { Number d = numberFormatDutch.parse(c); BigDecimal bd = new BigDecimal(d.toString()); System.out.println(bd); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); }
decimal = Character.toString( format.getDecimalFormatSymbols().getDecimalSeparator() ); setColumns( format.toPattern().length() ); setHorizontalAlignment(JFormattedTextField.TRAILING); setText( format.format(0.0) ); public void setText(String text) Number number = format.parse(text, new ParsePosition(0)); String text = format.format( format.parse( sb.toString() ) ); super.replace(fb, 0, doc.getLength(), text, a); String text = format.format( format.parse( sb.toString() ) ); super.replace(fb, 0, doc.getLength(), text, null); panel.add( abm ); JFrame frame = new JFrame("ABMTextField"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.add( panel ); frame.setSize(200, 200);
/** * Returns a String summarizing recall that will print nicely. */ public String getRecallDescription(int numDigits) { NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits(numDigits); return nf.format(getRecall()) + " (" + tpCount + "/" + (tpCount + fnCount) + ")"; }
public static boolean isNumber(String s){ try{ Locale l = Locale.getDefault(); DecimalFormat df = new DecimalFormat("###.##;-##.##"); Number n = df.parse(s); String sb = df.format(n); return sb.equals(s); } catch(Exception e){ return false; } }
NumberFormat formatter = NumberFormat.getNumberInstance(Locale.GERMANY); formatter.setMaximumFractionDigits(2); formatter.setMinimumIntegerDigits(2); formatter.setMinimumFractionDigits(2); System.out.println((formatter.format(new BigDecimal(100)))); // prints "100,00"
double myValue = 0.00000021d; DecimalFormat df = new DecimalFormat("0", DecimalFormatSymbols.getInstance(Locale.ENGLISH)); df.setMaximumFractionDigits(340); //340 = DecimalFormat.DOUBLE_FRACTION_DIGITS System.out.println(df.format(myValue)); //output: 0.00000021
Locale l = Locale.getDefault(); DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(l); DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols(); symbols.setGroupingSeparator('.'); // setting the thousand separator // symbols.setDecimalSeparator(','); optionally setting the decimal separator formatter.setDecimalFormatSymbols(symbols); formatter.setMinimumFractionDigits(2); formatter.setMaximumFractionDigits(2); String formattedString = formatter.format(yourDouble);