Aangepaste reeks invoegen tussen nummer en decimaal - Java DecimalFormat

Hallo en bij voorbaat dank voor de hulp.

Ik heb problemen bij het formatteren met een Java-functie om een ​​prijs in HTML te markeren.

Het lijkt erop dat, ongeacht wat ik doe, ik geen aangepaste inhoud kan invoegen tussen de cijfers en de decimalen (genereert Illegal Argument Exception). Is er een bekende manier om het volgende te bereiken:

NumberFormat nf = getNumberFormat("''##''.''00''", locale);
nf.format(number);

Stel dat de landinstelling en het nummer correct zijn geïnitialiseerd.

0
Wat is getNumberFormat ? Noemt het gewoon de constructor DecimalFormat?
toegevoegd de auteur Jon Skeet, de bron
Het is misschien niet het probleem, maar het is code die we niet kunnen zien . Hoe moeten we vaststellen wat er mis is met code die we niet kunnen zien? Ik heb mijn antwoord geschreven aannemende dat het de constructor DecimalFormat aanroept, maar het zou leuk geweest zijn als je ons in plaats daarvan een volledig codevoorbeeld had gegeven.
toegevoegd de auteur Jon Skeet, de bron
Ja, maar hoe is dat bedoeld om te helpen? Je hebt in principe gezegd: "Ik heb een methode genoemd die ik je niet laat zien, en het is een IllegalArgumentException gegooid." De code in getNumberFormat zou de parameters volledig kunnen negeren voor alles wat we weten. Het is in uw interesse om de code te presenteren - u bent degene die voordeel heeft bij een antwoord. Laat potentiële antwoorden niet raden. Lees tinyurl.com/so-hints
toegevoegd de auteur Jon Skeet, de bron
Fabrieksmethode voor het verkrijgen van een NumberFormat-object, het is hier niet het probleem.
toegevoegd de auteur grim, de bron
@JonSkeet Ik zei dat het probleem de uitzondering voor een illegaal argument was
toegevoegd de auteur grim, de bron
@JonSkeet U hebt gelijk, het spijt me
toegevoegd de auteur grim, de bron

2 antwoord

Als u de documenten voor DecimalFormat zult u zien dat ze het hebben over het voorvoegsel en de achtervoegselstekst - maar geen willekeurige tekst binnen een nummer plaatsen.

Het klinkt alsof je dit stukje formattering eigenlijk zelf moet schrijven - mogelijk met behulp van DecimalFormat voor elke sectie van het nummer.

1
toegevoegd
Dit lijkt correct te zijn, als gek. Dank je.
toegevoegd de auteur grim, de bron

U kunt overwegen om String.format (String-patroon, Object ... -argumenten) te gebruiken. U kunt uw eenvoudig geformatteerde nummers doorgeven als argumenten.

0
toegevoegd