BigDecimal, toString, Locale und Präzision

Also, hierfür gehöre ich eigentlich in die siebte Programmiererhölle.Aaaaber: BigDecimal, Copy & Paste aus einem JTable und Locales – bei Erhalt voller Präzision (Deswegen kein NumberFormat… ) sind echt nicht schön, und zwingen mich zu dieser fiesen Maßnahme.Hat jemand eine bessere Idee?

/**
* author Brockhaus
*
since 2.2.1
*/
public class LocalizedBigDecimal extends BigDecimal {

static final char sepCharLocale = ((DecimalFormat)DecimalFormat.getInstance()).getDecimalFormatSymbols().getDecimalSeparator();
static final char groupCharLocale = ((DecimalFormat)DecimalFormat.getInstance()).getDecimalFormatSymbols().getGroupingSeparator();

static final char sepCharUS = ((DecimalFormat)DecimalFormat.getInstance(Locale.US)).getDecimalFormatSymbols().getDecimalSeparator();
static final char groupCharUS = ((DecimalFormat)DecimalFormat.getInstance(Locale.US)).getDecimalFormatSymbols().getGroupingSeparator();

/**
* param val the number as string in the current locale
*
throws ParseException
*/
public LocalizedBigDecimal(String val) throws ParseException {
super(val.replace(sepCharLocale,’\n‘).replace(groupCharLocale,’\t‘).replace(‚\t‘, groupCharUS).replace(‚\n‘, sepCharUS));

}

public String toString(){
return super.toString().replace(sepCharUS,’\n‘).replace(groupCharUS,’\t‘).replace(‚\t‘,groupCharLocale).replace(‚\n‘, sepCharLocale);
}

}

Eclipse und „Restricted Access“ auf rt.jar

Von: http://www.digizol.com/2008/09/eclipse-access-restriction-on-library.html

Wenn Eclipse jault, dass eine Klasse nicht im Zugriff liegt (access restriction on rt.jar), kann man die Fehlermeldung wie folgt auf eine Warnung reduzieren:

„Preferences“ > „Java“ > „Compiler“ > „Errors/Warnings“ > „Deprecated and restricted API“ > „Forbidden references (access rule)“ auf „Warning“ setzen.

Kein schöner Stil, aber hilft manchmal, Fremdcode zu kompilieren (oder -in meinem Fall- Zugriff auf sun.awt.image.ToolkitImage zu bekommen, um erheblich mehr Performance in Bildbearbeitung zu bringen…).

Hat mich etwas Forschungsarbeit gekostet, deswegen hier dokumentiert.