# String umwandeln



## itsection (5. Mai 2003)

Hi Leute,

habe da mal wieder ein kleineres Problem.

Ich habe ein Textfeld, dessen Wert aus einer Datenbank kommt. Es handelt sich hierbei um eine Kommazahl. Nun kann ich ja diesen Betrag ohne Probleme in einen String einlesen. Jetzt hätte ich dann diese Zahl in einem String.
Ich bräuchte sie aber in einer Kommazahl.
Also meine erste Frage lautet, was für einen Datentyp könnte ich denn dann nehmen? Es sind Geldbeträge, also höchstens zwei Nachkommestellen.
Meine zweite Frage ist, wie könnte ich den String denn dann in einen solchen Datentypen umwandeln?
Ich brauche die Zahl damit ich noch einen festen Prozentsatz (15%) abzeihen kann.

Also noch mal kurz Zusammengefasst:

Dem Geldbetrag aus einem Textfeld (der ein String ist) sollen 15% abgezogen werden und dann in einem neuen String gespeichert werden.
Wie kann ich denn das am besten machen?
Könnte mir da bitte jemand einen Beispielcode angeben?

Im voraus schon mal DANKE

Grüssle
itsection


----------



## Thomas Kuse (5. Mai 2003)

hab leider kein vb drauf.

auf http://www.netsystems.ch/support/access97SpecEd/kap09.htm 
suchst du mal nach währung!

dort findet man eine funktion 
	
	
	



```
CCur(NumValue)
```
 die sollte für deine zwecke gehen!

für die formatierung in einen string benutz einfach die funktion _Format_


----------



## itsection (5. Mai 2003)

Hi,

das hilft mir leider nicht wirklich weiter.
Ich bräuchte irgendwas wie:

string String;
zahl Integer;
zahl = Integer.parseInt(string);

Könnte mir da niemand ein Code Beispiel geben?

Grüssle itsection


----------



## Dario Linsky (5. Mai 2003)

Eine Integervariable wandelst Du mit CStr() in einen String um und umgekehrt wandelst Du einen String mit CInt() in eine Integer-Variable um. Letzteres geht natürlich nur, wenn der String auch wirklich eine Zahl enthält, also sollte das vorher der Sicherheit halber abgefangen werden:


```
deineZahlAlsString = "123"
If IsNumeric(deineZahlAlsString) Then deineZahl = CInt(deineZahlAlString)
```

Fliesskommazahlen kannst Du in Variablen vom Typ Single oder Double ablegen. Currency ist eher für Währungen gedacht. Wichtig ist bei der Umwandlung und Überprüfung, dass das Trennzeichen im String kein Komma, sondern ein Punkt ist.
Beispiel für CCur zum Umwandeln von Strings in Currency-Variablen:

```
Dim wert As Currency
Dim str As String

str = "123.45"
If IsNumeric(str) Then wert = CCur(str)
```
Für Double-Variablen ist die Funktion CDbl und für Single-Variablen CSng.


----------



## itsection (5. Mai 2003)

Hallöchen,

oki vielen Dank Lirion.

Nochmals eine kurze Frage, wie kann ich bei einem Currency auf zwei Nachkommastellen runden?

Es sollte dann auch richtig gerundet werden.
0-4 wird abegrundet und
5-9 wird aufgerundet.


Vielen Dank im voraus

Grüssle itsection


----------



## Thomas Darimont (5. Mai 2003)

Servus!

Dim cur As Currency

cur = 100000.355321321

MsgBox Format(cur, "#,##0.00")

Gruss Tom


----------



## Dario Linsky (5. Mai 2003)

Die Round()-Funktion sollte eigentlich auch schon reichen.


----------

