Kezdőoldal » Számítástechnika » Programozás » Visual Basic 2010-ben hogyan...

Visual Basic 2010-ben hogyan tudok két stringet összefűzni?

Figyelt kérdés
Azt szeretném megcsinálni, hogy van két stringem, a string1-ben legyen 00000, a string2-t szeretném "ráilleszteni", úgy hogy ha mondjuk a string2 = 5 akkor az eredmény stringem 00005, ha a string2 = 123 akkor az eredmény 00123 legyen?
2014. nov. 6. 12:34
1 2
 1/13 anonim ***** válasza:

Akkor a kérdésed nem jó, az összefűzés azt jelenti, hogy egymásután írod.


Amit te akarsz, azt én úgy csinálnám, hogy először átkonvertálnám számmá a két szöveget. Utána összeadnám, majd visszakonvertálnám szöveggé (úgy, hogy kapjon vezető 0-kat, ha szükséges).


Ez így csak elméleti megoldás, gyakorlatinak megpróbálok utánajárni, de nem ígérek semmit.

2014. nov. 6. 12:49
Hasznos számodra ez a válasz?
 2/13 anonim ***** válasza:

Valami ilyesmi:


Dim string1 As String = "00000"

Dim string2 As String = "123"

Dim string3 As String

Dim int1 As Integer

Dim int2 As Integer

Dim int3 As Integer


int1 = CInt(string1)

int2 = CInt(string2)

int3 = int1 + int2


string3 = CStr(int3)

string3 = "00000" & string3

string3 = Right(string3, 5)

2014. nov. 6. 12:58
Hasznos számodra ez a válasz?
 3/13 anonim ***** válasza:

Ez az szám-szöveg konvertálgatás egy meglehetősen költséges dolog. Ráadásul oda vissza akarod csinálni. És nem is praktikus.


Gyakorlatiasabb megoldás a következő:


Kiírsz a "00000" string1-ből (5-string2.hossz()) számú karaktert, aztán kiírod a string2-őt teljes egészében.


A hossz() alatt természetesen a string hosszát értem temináló karakter nélkül.


Minimális vizsgálat kell, hogy ha a string2 hosszabb 5-nél, akkor nem írunk ki többet.

2014. nov. 6. 12:59
Hasznos számodra ez a válasz?
 4/13 SimkoL ***** válasza:

Nagyon régen láttam VB-t de szerintem:


While Len(string2) < 5

string2 = "0" & string2

End While

2014. nov. 6. 13:02
Hasznos számodra ez a válasz?
 5/13 anonim ***** válasza:

2# ez meg a fene?


Az utolsó két soron kívül egyetlen értelmes dolgot nem csinálsz.


int3 = int1 + int2


Tudod jól, hogy az int1 nulla lesz, akkor meg miért adod össze?

Mi a fenének konvertálgatod oda-vissza? Van egyáltalán haszna?


Aztán a végén végül is megoldod a sok tortúra után.


string3 = "00000" & string3

string3 = Right(string3, 5)


Gyakorlatilag, ha ennyi lenne az egész kód, jó is lenne.


string3 = "00000" & string2

string3 = Right(string3, 5)

2014. nov. 6. 13:04
Hasznos számodra ez a válasz?
 6/13 anonim ***** válasza:

#4 Ez már egy jó megoldásnak tűnik, azonban a stringek módosítása elég memória őrlő dolog.


Gyakorlatilag sok stringet készítesz a ciklusodban.


5

05

005

0005

00005

2014. nov. 6. 13:10
Hasznos számodra ez a válasz?
 7/13 anonim ***** válasza:

Ha mindenképpen változóban szeretnénk eltárolni a végeredményt a következőt javaslom:


Legyen egy hat elemű karaktertömb aminek az értéke "00000".

A 5-string2.lenght() pozíciótól írjuk bele a string2 értékét null termináltóval. És ennyi.

2014. nov. 6. 13:11
Hasznos számodra ez a válasz?
 8/13 anonim ***** válasza:

És ha az első nem csak 00000 lehet?!

Ha mindig az, akkor igazatok van. Én példának vettem azokat, amiket írt.

2014. nov. 6. 13:15
Hasznos számodra ez a válasz?
 9/13 anonim ***** válasza:
100%

Előző:

Igazából nem tudjuk mit akar a kérdező. Mi van akkor, ha a string1-ben nem csak 0-k vannak? Akkor melyik karakterei kellenek? Vagy össze kell adni számként? Ebben az esetben lehet az első válaszolónak igaza.

De lehet, hogy csak egy PadLeft kell a kérdezőnek, ebben az esetben a string1-re semmi szükség:

[link]

2014. nov. 6. 13:20
Hasznos számodra ez a válasz?
 10/13 anonim ***** válasza:
Előző (most remélem tényleg): bocs, közben megelőztél:)
2014. nov. 6. 13:21
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!