Wątek przeniesiony 2016-08-03 11:02 z C# i .NET przez ŁF.

Jak zamienić znaki w stringu?

0

Jak w temacie, dla przykładu:
string p1 = "22,32424";

Jak zamienić znak przecinka w stringu na kropke? Dodam, że musi sie to zmieniać niezależnie od miejsca pojawienia się przecinka.

2

Chwila szukania w Google zwróciła by Ci coś w tym stylu:

https://msdn.microsoft.com/pl-pl/library/system.string.replace(v=vs.110).aspx

ps. wybrałeś zły dział forum, Newbie nadawał by się dużo lepiej.

3

Zamiast zamieniać string na kropkę, lepiej prawidłowo konwertować stringa z uwzględnieniem ustawień językowych...

0
Azarien napisał(a):

Zamiast zamieniać string na kropkę, lepiej prawidłowo konwertować stringa z uwzględnieniem ustawień językowych...

Najpierw kliknąłem Ci plusa, bo to prawda, ale są przypadki, w których trzeba jednak dać tą kropkę. Np. dynamiczne tworzenie zapytania sql. Jeśli wpisujesz zmienną double, musisz ją najpierw skonwertować do stringa. I tu już musi posiadać kropkę, bo jeśli będzie przecinek, to oczywiście zapytanie się wywali.

2

@Juhas poczytaj o parametrach do zapytania.

0
hipekk napisał(a):

@Juhas poczytaj o parametrach do zapytania.

Wiem co to są parametry i jak ich używać. Załóżmy przez chwilę, że język jest pozbawiony takiej funkcjonalności i chcesz ją napisać sam. I co wtedy zrobisz? Będziesz sam zamieniał te przecinki (a właściwie decimal separatory) na kropki. I o to mi chodziło.

1

Temat ma tag C#, więc mówimy o rozwiązaniach dla tego języka.

0
Juhas napisał(a):

Najpierw kliknąłem Ci plusa, bo to prawda, ale są przypadki, w których trzeba jednak dać tą kropkę. Np. dynamiczne tworzenie zapytania sql. Jeśli wpisujesz zmienną double, musisz ją najpierw skonwertować do stringa. I tu już musi posiadać kropkę, bo jeśli będzie przecinek, to oczywiście zapytanie się wywali.

Jeśli coś wpisuje, to jest stringiem. Tego stringa konwertuję do double. Tego double wysyłam do metody generującej zapytanie SQL. Nawet jeśli ta metoda nie przyjmuje double tylko string, to po prostu konwertuję tego doubla tak, aby miał kropkę. W czym problem?

0
Juhas napisał(a):

Np. dynamiczne tworzenie zapytania sql. Jeśli wpisujesz zmienną double, musisz ją najpierw skonwertować do stringa. I tu już musi posiadać kropkę, bo jeśli będzie przecinek, to oczywiście zapytanie się wywali.

I tak „prawilniej” jest

  1. skonwertować stringa na liczbę przy użyciu ustawień systemowych
  2. skonwertować liczbę na stringa przy użyciu invariant culture.

1 użytkowników online, w tym zalogowanych: 0, gości: 1