Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 1 odgovor
  • 2.672 pregleda

Najnovija ↓

Dobijanje broja iz stringa C# 22.06.2010. u 09:49 · pre 199 meseci #1
evo ako kome treba funkcija u C# za dobijanje broja iz string-a.

public static double ExtractBrojFromText(string Fraza)
{
int duzinaStringa, TrenutnaPoz;
string Temp = "";
duzinaStringa = Fraza.Length;

for (TrenutnaPoz = 1; TrenutnaPoz <= duzinaStringa; TrenutnaPoz++)
{
if (Mid(Fraza, TrenutnaPoz, 1) == "-")
Temp = Temp + Mid(Fraza,TrenutnaPoz,1);

if (Mid(Fraza,TrenutnaPoz, 1) == ".")
Temp = Temp + Mid(Fraza,TrenutnaPoz,1);

char ee = char.Parse(Mid(Fraza,TrenutnaPoz, 1));

if (Char.IsNumber(ee) == true)
Temp = Temp + Mid(Fraza, TrenutnaPoz, 1);
}

if (Temp.Length == 0)
return 0;
//Extract = 0;
else
//Extract = double.Parse(Temp);
return double.Parse(Temp);
}

public static string Mid(string s, int a, int b)
{
string temp = s.Substring(a - 1, b);
return temp;
}

-- nedostatak je sto ako string ima crticu, racunace kao negativan broj npr.
ExtractBrojFromText(asdasda-87.25) ce bit -87.25

Potpis
r'n'r never dies!
Re: Dobijanje broja iz stringa C# 22.06.2010. u 09:57 · pre 199 meseci #2
Evo mog resenja:

Code (csharp):

            string input = "asdasda-87.25fsfdsf -23";
            Regex floatReg = new Regex(@"[-+]?[0-9]*\.?[0-9]+", RegexOptions.Compiled);
            MatchCollection matches = floatReg.Matches(input);

            foreach (Match match in matches)
            {
                if (match.Success)
                {
                    double res = double.Parse(match.Value);
                    Console.WriteLine(res);
                }
            }
 

Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme