Laden...

Die letzen beiden Zahlen aus einem String ausschneiden

Erstellt von Frong vor 14 Jahren Letzter Beitrag vor 14 Jahren 4.951 Views
F
Frong Themenstarter:in
2 Beiträge seit 2009
vor 14 Jahren
Die letzen beiden Zahlen aus einem String ausschneiden

Hi,

mit meinem ersten Post habe ich direkt mal eine Anfängerfrage. Nämlich wie sich die letzten beiden Zaheln eines Strings (Int32) ausschneiden lassen. Ich habe z.B. den Wert 19999 welcher jetzt aber zu 199,99 werden soll. Das Problem ist jetzt, dass die Zahlen immer unterschiedlich lang sein können, also muss ich von hintern anfangen. Wie lässt sich das einrichten? Ansonsten könnte man ja Substring verwenden ...
Das ganze brauche ich für die Schule, wir fangen so langsam an zu Schreiben ...
Mein Vorteil ist es, das ich vorher schon etwas PHP konnte. Auch wenn das schon um einiges anders ist ...

Und ja, ich weiß wie oft diese Frage schon gestellt wurde, finde nur nichts. Danke 😃

mfg. Frong

In A Gadda Da Vida, Honey ...

691 Beiträge seit 2007
vor 14 Jahren

Hallo.

Ich nehme mal an, das es dir um die Ausgabe der Zahl geht. (weil 199,99 kein Integer ist)
Dann sollte string.Format() die richtige Methode sein. Dort kannst du ein Pattern übergeben, mit dem die Zahl formatiert wird.

Siehe: String.Format-Methode (String, Object)

mit freundlichen Grüßen,
Tomot

Projekte: www.gesellschaftsspieler-gesucht.de

313 Beiträge seit 2006
vor 14 Jahren
loesung

Eine andere Methode waere:


string x="199999";
string y=(Convert.ToDouble(x)/100).ToString();
F
Frong Themenstarter:in
2 Beiträge seit 2009
vor 14 Jahren

Danke für die schnellen Antwoten. Habe noch garnicht damit gerechnet. Und noch weniger damit nicht angemeckert zu werden.

Die Lösung von Ploetzi war super, nur das man aus irgendeinem Grund das ganze durch 1000 teilen muss, anstat durch 100 ... Und wieso wird das Komma von selbst gesetzt?

Das ganze sollte übrigens eine Art Kasse werden. Mein COde sieht in etwar so aus und funktioniert auch soweit super.

using System;

        int eing;  
        string sum = "0";  
do
{
    eing = Convert.ToInt32(Console.ReadLine());
    sum = sum + eing;
}
while (eing != 000);

sum = (Convert.ToDouble(sum) / 1000).ToString();

Console.WriteLine("-------------------------");
Console.WriteLine("Summe Gesammt: " + sum + " Euro");

Console.ReadLine();

Aber wirklich danke für die Super Antworten.

In A Gadda Da Vida, Honey ...

2.223 Beiträge seit 2005
vor 14 Jahren

Hallo Frong und Herzlich Willkommen hier im Forum,

nur das man aus irgendeinem Grund das ganze durch 1000 teilen muss, anstat durch 100

rein Mathematisch wäre durch 100 richtig

denn 199999 / 100 wäre 1999,99

warum du Durch 1000 Teilen solltest, ist mir echt ein Rätsel

des weiteren, könntest Du mir bitte erklären was Du mit

Und wieso wird das Komma von selbst gesetzt?

Double ist halt ein Fließkomma Typ, und der hat halt auch ein , drin

Herzliche Grüße
Lars

49.485 Beiträge seit 2005
vor 14 Jahren

Hallo Frong,

Habe noch garnicht damit gerechnet. Und noch weniger damit nicht angemeckert zu werden.

angemeckert wirst du auch von mir nicht. Nur freundlich auf [Hinweis] Wie poste ich richtig? Punkt 1.1.1. hingewiesen und um Beachtung gebeten. Vielen Dank!

herbivore