/ / Oracle ADF: 1 des Typs "Klasse" java.math.BigDecimal kann nicht in die Klasse "oracle.jbo.domain.Number" konvertiert werden

Oracle ADF: 1 der Typklasse java.math.BigDecimal kann nicht in die Klasse oracle.jbo.domain.Number konvertiert werden - java, oracle-adf, jdeveloper

Diese Frage sieht dumm aus, aber nicht wirklich. 1 des Typs "Klasse" java.math.BigDecimal kann nicht in die Klasse "oracle.jbo.domain.Number" konvertiert werden

Wie konvertieren?

  1. oracle.jbo.domain.Number into java.math.BigDecimal
  2. java.math.BigDecimal into oracle.jbo.domain.Number

Ich bekomme die Antwort Nummer eins:

 oracle.jbo.domain.Number value = (Number)valueChangeEvent.getNewValue();
java.math.BigDecimal costOfBuildingValue = value.bigDecimalValue();

Nummer zwei?

Antworten:

2 für die Antwort № 1

Du kannst den ... benutzen String Darstellung der Nummer auf beide Arten:

oracle.jbo.domain.Number number = new oracle.jbo.domain.Number(12345);
BigDecimal bigDecimal = new BigDecimal(number.toString());

und umgekehrt:

BigDecimal bigDecimal = new BigDecimal(1241241);
oracle.jbo.domain.Number number = new oracle.jbo.domain.Number(bigDecimal.toString());

Noch besser, wenn Sie den Javadoc auschecken, werden Sie sehen, dass es "s gibt Number(BigDecimal bigDecimal) Konstrukteur:

BigDecimal bigDecimal = new BigDecimal(1241241);
oracle.jbo.domain.Number number = new oracle.jbo.domain.Number(bigDecimal);

Beachten Sie, dass ich den vollständig qualifizierten Klassennamen von verwende oracle.jbo.domain.Number Verwechslung mit der java.lang.Number Schnittstelle.


1 für die Antwort № 2

Erstelle eine neue Number wie folgt:

BigDecimal value = new BigDecimal(...);
Number costOfBuildingNumber = new Number(value);