“IllegalFormatConversionException: d != java.lang.String" bei der Polsterung Reihe, die mit 0EN?

Hatte ich eine perfekt funktionierende code-gestern, in der genauen form:

int lastRecord = 1;
String key = String.format("%08d", Integer.toString(lastRecord));

Dem pad würde es schön zu 00000001.

Nun ich trat es herauf eine Kerbe mit twoKeyChar immer ein string aus einer Tabelle und lastRecord immer ein int, die aus einer Tabelle.

Als, können Sie sehen, das Konzept ist im wesentlichen das gleiche - ich umwandeln eines int in einen string und versuchen pad mit 0s; dieses mal jedoch bekomme ich die folgende Fehlermeldung:

java.util.IllegalFormatConversionException: d != java.lang.String

Den code ist unten:

String newPK = null;
String twoCharKey = getTwoCharKey(tablename);
if (twoCharKey != null) {
     int lastRecord = getLastRecord(tablename);
     lastRecord++;
     //The println below outputs the correct values: "RU" and 11. 
     System.out.println("twocharkey:"+twoCharKey+"record:"+lastRecord+"<");
     //Now just to make it RU00000011
     newPK = String.format("%08d", Integer.toString(lastRecord));
     newPK = twoCharKey.concat(newPK);
}

Ich das Gefühl, ich muss etwas Falsches eingegeben haben, denn es gibt keinen Grund für Sie zu brechen, die seit dem letzten mal, als es funktionierte. Jede Hilfe/Hinweis dankbar! Danke!

In der menschlichen form ist, sagt, dass "der Formatbezeichner d gilt nicht für String-Werte".

InformationsquelleAutor Metal Wing | 2012-06-05

Schreibe einen Kommentar