public class BDF { public static void main(String[] args) { BigDecimal x = new BigDecimal("12345.6"); System.out.println(x); x = x.setScale(2); System.out.println(x); double xx = x.doubleValue(); NumberFormat nf1 = NumberFormat.getInstance(new Locale("da", "dk")); System.out.println(nf1.format(xx)); NumberFormat nf2 = new DecimalFormat("#,##0.00", new DecimalFormatSymbols(new Locale("da", "dk"))); System.out.println(nf2.format(xx)); } }
det sidste er nok det bedste forslag jeg kan komme op med, men jeg er ikke helt tryg ved at det skal gennem en double.
jeg kan ikke umiddelbart se hvordan det er implementeret .. min ide siger " public final String format(Object o) { /* compiled code */ }"
Jeg er igang med at læse "Java puzzlers - joshua bloch, neal gafter" og jeg kan godt forstå du ikke er tryk ved double. Der kommer f.eks dette lille spm Hvad printer denne :) System.out.println(2.0 - 1.10);
ja - man kan tilsyneladende godt kalde nf2.format med x - fordi der er en format med Object
og java docs fortæller ikke meget mere:
public final String format(Object obj)
Formats an object to produce a string. This is equivalent to
format(obj, new StringBuffer(), new FieldPosition(0)).toString();
public abstract StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
Formats an object and appends the resulting text to a given string buffer. If the pos argument identifies a field used by the format, then its indices are set to the beginning and end of the first such field encountered.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.