Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Provera numericke vrednosti u C#.Net

[es] :: .NET :: .NET Desktop razvoj :: Provera numericke vrednosti u C#.Net

[ Pregleda: 3844 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Zoran9707
Zoran Milutinovic
programer
Nis

Član broj: 90048
Poruke: 59
213.244.197.*



Profil

icon Provera numericke vrednosti u C#.Net02.01.2007. u 17:15 - pre 193 meseci
Da li neko zna kako se pise naredba u C#.Net 0u za proveru numericke vrednosti?

Pandam naredbi IsNumeric u VB.Net-u samo sto mi treba ta ista naredba u C#.Net-u.

P.S
Srecna Nova godina :)
 
Odgovor na temu

roberto555
Croatia

Član broj: 64744
Poruke: 451
*.adsl.net.t-com.hr.



Profil

icon Re: Provera numericke vrednosti u C#.Net02.01.2007. u 18:43 - pre 193 meseci
ako je to što mislim možeš ovako sa "is"

primjer:

Code:

int i=5;
bool rezultat=i is int; //u ovo m slucaju vratit ce true, da je recimo "i is decimal" bio bi false

----Roberto----
 
Odgovor na temu

sstanko78
Novi Sad

Član broj: 19139
Poruke: 411
195.252.85.*



Profil

icon Re: Provera numericke vrednosti u C#.Net02.01.2007. u 18:58 - pre 193 meseci
Ovo vazi za pojedinacne karaktere

Char.IsDigit (Char)
vraca true ako jeste
 
Odgovor na temu

Zoran9707
Zoran Milutinovic
programer
Nis

Član broj: 90048
Poruke: 59
*.vdial.verat.net.



Profil

icon Re: Provera numericke vrednosti u C#.Net03.01.2007. u 10:32 - pre 193 meseci
Recimo u TextBox upisem vrednost 233.22 i naravno posto se ispita da je to ispravna numeric-ka vrednost program tece dalje. Ali
ukoliko se u TextBox upise 323.d213 program ispita, vidi da to nije numericka vrednost i obavestio nekako sistem-tj mene :) .

Ja jesam to do sada zavrsavao na jedam malo cudan nacin ali ukoliko neko zna jednu komandu koja ce da vrati True ili False ili nekkao
drugacije da obavesti da to jeste/nije numercika vrednost toi bi bilo mnogo brze i lakse.

u VB.Net-u postoji naredba
IsNumeric(txtVrednost.text) koja vraca true-jeste numericka vrednost ili false-nije numericka.

Pitanje da li ce jedna nardba da prodje jer C#.Net trazi eksplicitnu konverziju ali ako neko zna to bi bilo prava stvar.

Pozdrav
 
Odgovor na temu

west_herc
west_herc

Član broj: 103549
Poruke: 160
*.tel.net.ba.



Profil

icon Re: Provera numericke vrednosti u C#.Net03.01.2007. u 11:22 - pre 193 meseci
Ja sam to radio sa regular expression, i taj text box tj na njegov event validate staviš to i ako je to dozvoljeno prođe a ako nije odmah javi upozorenje.
 
Odgovor na temu

sstanko78
Novi Sad

Član broj: 19139
Poruke: 411
*.tippnet.co.yu.



Profil

icon Re: Provera numericke vrednosti u C#.Net03.01.2007. u 11:31 - pre 193 meseci
Jedno od resenja je da skines neki od gotovih text box kontrola koje to
vec imaju ugradjeno: (FREE su)
http://www.codeproject.com/cs/.../ValidatingTextBoxControls.asp
 
Odgovor na temu

vladdy
Chicago, USA

Član broj: 30119
Poruke: 137
*.dsl.emhril.ameritech.net.

Sajt: www.pro-transport.com


Profil

icon Re: Provera numericke vrednosti u C#.Net03.01.2007. u 17:43 - pre 193 meseci
Eto kakvi su ovi c# zealoti hehe, sve bi ucinili samo da ne dodaju reference na Microsoft.VisualBasic.dll :) :)

Namespace: Microsoft.VisualBasic
Module: Information
Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Public Function IsNumeric(ByVal Expression As Object) As Boolean


Kada se pokrene Lutz Roeder's reflector dobije se sadrzina funkcije pa prepisi u c#.


Code:
Public Shared Function IsNumeric(ByVal Expression As Object) As Boolean
      Dim num1 As Double
      Dim convertible1 As IConvertible = TryCast(Expression,IConvertible)
      If (convertible1 Is Nothing) Then
            Dim chArray1 As Char() = TryCast(Expression,Char())
            If (Not chArray1 Is Nothing) Then
                  Expression = New String(chArray1)
            Else
                  Return False
            End If
      End If
      Dim code1 As TypeCode = convertible1.GetTypeCode
      If ((code1 <> TypeCode.String) AndAlso (code1 <> TypeCode.Char)) Then
            Return Information.IsOldNumericTypeCode(code1)
      End If
      Dim text1 As String = convertible1.ToString(Nothing)
      Try 
            Dim num2 As Long
            If Utils.IsHexOrOctValue(text1, num2) Then
                  Return True
            End If
      Catch exception1 As  StackOverflowException
            Throw exception1
      Catch exception2 As  OutOfMemoryException
            Throw exception2
      Catch exception3 As  ThreadAbortException
            Throw exception3
      Catch exception7 As  Exception
            Return False
      End Try
      Return DoubleType.TryParse(text1, num1)
End Function



Mada imas onu try...catch hack foru koja je cak i dobra, jeste da imas "try" overhead

Code:

public bool IsNumeric(object o)
{
      try
      {
            Int32.Parse(o);
      }
      catch
      {
            return false;
      }
      return true;
}

http://www.pro-transport.com - The most advanced trucking software on the market
 
Odgovor na temu

Dejan Vesic
Dejan Vesic
CEO
IGT Ogranak Beograd
Beograd

Član broj: 84929
Poruke: 217
*.adsl-1.sezampro.yu.

Sajt: www.vesic.org


+1 Profil

icon Re: Provera numericke vrednosti u C#.Net03.01.2007. u 18:02 - pre 193 meseci
Code:

    public static bool IsNumeric(string  numCandidate)
    {
        int result;
        return int.TryParse(numCandidate, out result);
    }

 
Odgovor na temu

StrokaviKod
Serbia

Član broj: 104474
Poruke: 32
*.static.sbb.co.yu.



Profil

icon Re: Provera numericke vrednosti u C#.Net04.01.2007. u 10:08 - pre 193 meseci
Code:

public static bool IsNumeric(object number) {
    string _number = string.Empty;

    if(number != null && number.GetType().Equals(typeof(string))) {
        _number = number.ToString();
    }
    if(_number != string.Empty)
                return char.IsNumber(_number, _number.Length - 1)? true : false;
    else return false;
}
 
Odgovor na temu

stevan22
Stevan Popov
Junior Java (Android) Developer
Beograd

Član broj: 75704
Poruke: 41
*.eunet.yu.



+2 Profil

icon Re: Provera numericke vrednosti u C#.Net09.01.2007. u 03:34 - pre 193 meseci
ma samo furaj try & catch blokowe
 
Odgovor na temu

Fedya
Fedor Hajdu
Solution Architect
Emaratech
Dubai, UAE

Član broj: 28246
Poruke: 790
*.static.sbb.co.yu.

Jabber: fedya@elitesecurity.org
Sajt: devtechgroup.com


+34 Profil

icon Re: Provera numericke vrednosti u C#.Net09.01.2007. u 11:29 - pre 193 meseci
Bas ste komplikatori :)

if(decimal.TryParse(tb.Text, out decimalnaVrednost))
{
// sve je proslo ok
}
else
{
// unet je pogresan karakter
}
Every hamster has his day.
 
Odgovor na temu

Zoran9707
Zoran Milutinovic
programer
Nis

Član broj: 90048
Poruke: 59
*.adsl.static.sezampro.yu.



Profil

icon Re: Provera numericke vrednosti u C#.Net24.01.2007. u 08:46 - pre 193 meseci
Iskrslo nesto pa nisam probao resenja koja ste predlozili.
Ali u narednih par dana cu da istestiram.

Hvala puno.
 
Odgovor na temu

01011011

Član broj: 561
Poruke: 2341
65.216.70.*



+2 Profil

icon Re: Provera numericke vrednosti u C#.Net05.03.2008. u 21:22 - pre 179 meseci
Imam i ja slican problem a necu da koristim Microsoft.VisualBasic dll :)

ovih dosta primjera sto ste pokazali covjeku ne valjaju, jer ako uradi

int.TryParse i ubaci decimal, vratice mu false, sto ce znaciti da nije integer ali je jos uvijek broj i trebalo bi da vrati True :)

evo jedne solucije koju sam ja nasao, nadam se da je dobra posto je i ja moram koristiti, probao sam u snippetu razne hackove i jos nisam uspio da je unistim... Mogu reci da je C# osiromasen sa ovom funkcijom. Imaju npr char.IsNumber(), a nemaju string.IsNumeric() mislim stvarno :) ????

Code:
public static bool IsNumeric(object Expression)
    {
      bool isNum;
      double retNum;
      isNum = Double.TryParse(Convert.ToString(Expression), System.Globalization.NumberStyles.Any,System.Globalization.NumberFormatInfo.InvariantInfo, out retNum );
      return isNum;
    }


Sta mislite o tome?

 
Odgovor na temu

01011011

Član broj: 561
Poruke: 2341
65.216.70.*



+2 Profil

icon Re: Provera numericke vrednosti u C#.Net05.03.2008. u 21:42 - pre 179 meseci
ok evo sad sam shvatio da ce i ovo da radi kako treba

Code:

        public static void RunSnippet()
    {
        decimal result = 0;
        
        Console.WriteLine(Decimal.TryParse("45", out result));
    }


 
Odgovor na temu

[es] :: .NET :: .NET Desktop razvoj :: Provera numericke vrednosti u C#.Net

[ Pregleda: 3844 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.