String mit Zahlen mit Tausendertrennzeichen versehen

AssELAss

Aktives Mitglied
Hallo Leute, da ihr mir immer wunderbar weiterhelft frage ich erneut.

Wie kann ich einem String der Zahlen enthält mit Tausendertrennzeichen versehen?
Gibt es eine Möglichkeit über Regular Expressions?

quasi ReplaceALL("", "")? oder mit format?

find leider nichts gescheites.
 
Java:
public class TausenderTrennZeichen
{

    public static void main( String[] args )
    {
        System.out.println(
                addTausenderTrennZeichen(
                        "2156,54+" ) );

        System.out.println(
                addTausenderTrennZeichen(
                        "156,54+" ) );

        System.out.println(
                addTausenderTrennZeichen(
                        "56,56-" ) );
    }

    private static String addTausenderTrennZeichen(
            final String originalNumStr )
    {
        final String originalNumStrTrimmed =
                originalNumStr.trim();

        final int countOfDigitsBeforeComma =
                originalNumStrTrimmed.indexOf(
                        ',' );

        if ( countOfDigitsBeforeComma < 4 )
        {
            return originalNumStrTrimmed;
        }

        final int posOfTausenderTrennZeichen =
                countOfDigitsBeforeComma - 3;

        return 
                originalNumStrTrimmed.substring(
                        //beginIndex
                        0 ,
                        //endIndex
                        posOfTausenderTrennZeichen ) +
                '.' +
                originalNumStrTrimmed.substring(
                        //beginIndex
                        posOfTausenderTrennZeichen );
    }

}
 
Zuletzt bearbeitet:
Mein Beispielcode erfüllt aber wirklich nur die von Dir geposteten beiden Beispiele,
für mehr Anforderungen musst Du eben mehr tun.
 
Java:
@Override
	public ArrayList<String> mccgetStringArray(IvodynBase vo) 
	{

		final CdotabGrolaArchivDB_Mitgliedskonten voStichproben = (CdotabGrolaArchivDB_Mitgliedskonten) vo;
		ArrayList<String> stichprobenlist = new ArrayList<String>();


if (!voStichproben.mccIsNullBETRAG()) 
		{
			
			voStichproben.getBETRAG();
			stichprobenlist.add(voStichproben.getBETRAG().format("%10s", voStichproben.getBETRAG().valueOf(voStichproben.getBETRAG().replaceAll("^0*", ""))));
				
		} 
		else
			stichprobenlist.add("");

return stichprobenlist;
		
		}


vll habe ich vergessen zu erwähnen, dass es sich hier um eine ArrayList handelt.
 
vll habe ich vergessen zu erwähnen, dass es sich hier um eine ArrayList handelt.

Was hat das mit der ursprünglichen Frage zu tun?

Ist doch egal, woher der String kommt oder willst Du eine neue Frage aufmachen,
nämlich wie Du Werte in einer ArrayList änderst?
 
Java:
final DecimalFormat decimalFormat1 = new DecimalFormat("#,###,###.00");
final DecimalFormat decimalFormat2 = new DecimalFormat("#.00");
System.out.println(decimalFormat1.format(decimalFormat2.parse("2156,54-")));
 

Neue Themen


Zurück
Oben