30. oktober 2004 - 18:41
Der er
16 kommentarer og 1 løsning
Format streng telefonnummer
Jeg har nogle telefonnumre som har mange forskellige formater, eks: 1234 5678 12 34 56 78 12 345 678 osv. Hvordan laver jeg så et format af dem, ved hjælp af string.Format() metoden? De skal skrives som 12345678.
Annonceindlæg fra Arctic Wolf
30. oktober 2004 - 18:41
#1
Jeg kunne naturligvis bare lave en søg-erstat af mellemrum, men jeg skal også bruge det til andre formater..
30. oktober 2004 - 18:48
#2
Der er vist ikke andet at gøre end at fjerne mellemrummene (Replace) og så hvis nødvendigt dele op igen (Substring).
30. oktober 2004 - 18:59
#3
Hvordan laver man en normal replace. Jeg kan kun finde en Replace(string oldValue,string newValue) Men hvor skal man angive hvilken streng, man vil arbejde i?
30. oktober 2004 - 19:00
#4
Det er en metode på string objektet. Altså: s = s.Replace(" ","")
30. oktober 2004 - 19:10
#5
Ja, præcis Hvorfor kan man så ikke skrive: int t = Convert.ToInt32(s); og altså få en integer med værdien: 12345678 ?
30. oktober 2004 - 19:12
#6
Det kan du vel efter replace ?
30. oktober 2004 - 19:14
#7
string s = "12 34 56 78"; Console.WriteLine(Convert.ToInt32(s.Replace(" ",""))); Console.WriteLine(Convert.ToInt32(s)); giver hos mig: 12345678 Unhandled Exception: System.FormatException: Input string was not in a correct format.
30. oktober 2004 - 19:33
#8
Nej, sært nok får jeg hele tiden en fejl: "Input string was not in a correct format." Kode: private void trimTlf(string telefon){ telefon = telefon.Replace(" ",""); inttlf = Convert.ToInt32(s); } Den går galt i den linje, hvor den laver en convert. Jeg kan bare ikke se hvad der er galt?
30. oktober 2004 - 19:33
#9
Husk lige at smide et svar, så du kan få point for ovenstående.
30. oktober 2004 - 19:34
#10
private void trimTlf(string telefon){ telefon = telefon.Replace(" ",""); inttlf = Convert.ToInt32(s); // <---- hvad er s ? }
30. oktober 2004 - 19:34
#11
et svar
30. oktober 2004 - 19:39
#12
s er telefon, havde glemt at rette det.
30. oktober 2004 - 19:48
#13
Har du en idé om hvad der går galt?
30. oktober 2004 - 19:57
#14
Er du sikker på at det er der det går galt ? (husk at telefon er tilbage til det gamle når den metode returnerer !!)
30. oktober 2004 - 20:02
#15
Ja, den siger fejl, når den prøver at køre denne linje: int inttlf = Convert.ToInt32(telefon); og ifølge mine tests, så er telefon både en string, og den består af 8 tal.
30. oktober 2004 - 20:07
#16
using System; class MainClass { private static void trimTlf(string telefon){ telefon = telefon.Replace(" ",""); Console.WriteLine("telefon=#" + telefon + "#"); int tlf = Convert.ToInt32(telefon); Console.WriteLine("tlf=" + tlf); } public static void Main(string[] args) { string telefon = "12 34 56 78"; trimTlf(telefon); Console.WriteLine("telefon=#" + telefon + "# <-----"); } } giver: telefon=#12345678# tlf=12345678 telefon=#12 34 56 78# <-----
30. oktober 2004 - 21:48
#17
Ja, du har ret, det havde jeg glemt. Tak for det.
Kurser inden for grundlæggende programmering