Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. isnumeric in c#

isnumeric in c#

Scheduled Pinned Locked Moved C#
csharp
16 Posts 9 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Amar Chaudhary

    how can we use isnumeric in c# thanks :):)

    M Offline
    M Offline
    mikone
    wrote on last edited by
    #2

    you could youse double.TryParse or int.TryParse - those methods take two arguments. The first one is the value to parse. The second one is the variable to write to (i guess its always passed as 'out' - look at the method header for further information) The method will return true if the value could be parsed successfully.

    A 1 Reply Last reply
    0
    • A Amar Chaudhary

      how can we use isnumeric in c# thanks :):)

      R Offline
      R Offline
      RanjithLogics
      wrote on last edited by
      #3

      You can use this method as there is no built in methods. private bool IsNumeric(object numberString) { string strVal = numberString.ToString(); char [] ca = strVal.ToCharArray(); for (int i = 0; i < ca.Length;i++) { if (ca[i] > 57 || ca[i] < 48) { if(ca[i] != 46 ) return false; } } return true; }

      Ranjith Stephen

      A 1 Reply Last reply
      0
      • R RanjithLogics

        You can use this method as there is no built in methods. private bool IsNumeric(object numberString) { string strVal = numberString.ToString(); char [] ca = strVal.ToCharArray(); for (int i = 0; i < ca.Length;i++) { if (ca[i] > 57 || ca[i] < 48) { if(ca[i] != 46 ) return false; } } return true; }

        Ranjith Stephen

        A Offline
        A Offline
        Amar Chaudhary
        wrote on last edited by
        #4

        nice and should include 43 and 45 also :):)

        It is Good to be Important but! it is more Important to be Good

        R 1 Reply Last reply
        0
        • M mikone

          you could youse double.TryParse or int.TryParse - those methods take two arguments. The first one is the value to parse. The second one is the variable to write to (i guess its always passed as 'out' - look at the method header for further information) The method will return true if the value could be parsed successfully.

          A Offline
          A Offline
          Amar Chaudhary
          wrote on last edited by
          #5

          but these meathods through exceptions which is a lag in performance :):)

          It is Good to be Important but! it is more Important to be Good

          M E 2 Replies Last reply
          0
          • A Amar Chaudhary

            nice and should include 43 and 45 also :):)

            It is Good to be Important but! it is more Important to be Good

            R Offline
            R Offline
            rah_sin
            wrote on last edited by
            #6

            u can try private bool IsNumeric(object numberString) { string strVal = numberString.ToString(); char [] ca = strVal.ToCharArray(); for (int i = 0; i < ca.Length;i++) { if (Char.IsNumber(ca[i])) return false; else return true; } }

            rahul

            E R J 3 Replies Last reply
            0
            • A Amar Chaudhary

              but these meathods through exceptions which is a lag in performance :):)

              It is Good to be Important but! it is more Important to be Good

              M Offline
              M Offline
              Martin 0
              wrote on last edited by
              #7

              Hello,

              Amar Chaudhary wrote:

              these meathods through exceptions

              No, thats not true. That's the differents between 'Parse' and 'Convert.ToInt32'. If it's possible for you you should use 'TryParse' in an 'if' == true statement. All the best, Martin

              1 Reply Last reply
              0
              • R rah_sin

                u can try private bool IsNumeric(object numberString) { string strVal = numberString.ToString(); char [] ca = strVal.ToCharArray(); for (int i = 0; i < ca.Length;i++) { if (Char.IsNumber(ca[i])) return false; else return true; } }

                rahul

                E Offline
                E Offline
                ejuanpp
                wrote on last edited by
                #8

                Ithink you just check ca[0]

                1 Reply Last reply
                0
                • R rah_sin

                  u can try private bool IsNumeric(object numberString) { string strVal = numberString.ToString(); char [] ca = strVal.ToCharArray(); for (int i = 0; i < ca.Length;i++) { if (Char.IsNumber(ca[i])) return false; else return true; } }

                  rahul

                  R Offline
                  R Offline
                  RanjithLogics
                  wrote on last edited by
                  #9

                  gr8 Rahul

                  Ranjith Stephen

                  J 1 Reply Last reply
                  0
                  • R RanjithLogics

                    gr8 Rahul

                    Ranjith Stephen

                    J Offline
                    J Offline
                    J4amieC
                    wrote on last edited by
                    #10

                    ranjithlogics wrote:

                    gr8 Rahul

                    Yes "gr8" indeed :rolleyes: as in reading this makes me want to gr8 my forehead with a cheese gr8er. Specifically if (Char.IsNumber(ca[i])) return false; within a method called IsNumeric - whose purpose is to return true when a string is numeric.

                    --- How to get answers to your questions[^]

                    1 Reply Last reply
                    0
                    • R rah_sin

                      u can try private bool IsNumeric(object numberString) { string strVal = numberString.ToString(); char [] ca = strVal.ToCharArray(); for (int i = 0; i < ca.Length;i++) { if (Char.IsNumber(ca[i])) return false; else return true; } }

                      rahul

                      J Offline
                      J Offline
                      J4amieC
                      wrote on last edited by
                      #11

                      rah_sin wrote:

                      for (int i = 0; i < ca.Length;i++) { if (Char.IsNumber(ca[i])) return false; else return true; }

                      This logic is so badly flawed.. 1) false is returned if a character is numeric - the purpose of the method was supposed to be returning true if a caracter is numeric 2) It always returns on the first character, rather than checking the whole string is made up of numbers... basically the for loop is useless.

                      --- How to get answers to your questions[^]

                      R 1 Reply Last reply
                      0
                      • A Amar Chaudhary

                        how can we use isnumeric in c# thanks :):)

                        J Offline
                        J Offline
                        J4amieC
                        wrote on last edited by
                        #12

                        As has been hinted, rather badly, by previous posters the way to write an isnumeric method is to iterate over each character in a string checking whether Char.IsNumber is true or char == '.' for every character in the string. You may want to remove formatting from the number, as often numbers may be separated with a comma (1,000,000) and sometimes numbers are a representation of currency (£100) - you may or may not want these two cases to be treated as valid numerics.

                        --- How to get answers to your questions[^]

                        D 1 Reply Last reply
                        0
                        • J J4amieC

                          As has been hinted, rather badly, by previous posters the way to write an isnumeric method is to iterate over each character in a string checking whether Char.IsNumber is true or char == '.' for every character in the string. You may want to remove formatting from the number, as often numbers may be separated with a comma (1,000,000) and sometimes numbers are a representation of currency (£100) - you may or may not want these two cases to be treated as valid numerics.

                          --- How to get answers to your questions[^]

                          D Offline
                          D Offline
                          Dan Neely
                          wrote on last edited by
                          #13

                          J4amieC wrote:

                          As has been hinted, rather badly, by previous posters the way to write an isnumeric method is to iterate over each character in a string checking whether Char.IsNumber is true or char == '.' for every character in the string.

                          You also need to check for '-' in the first char, and that '.' only appears once.

                          1 Reply Last reply
                          0
                          • A Amar Chaudhary

                            but these meathods through exceptions which is a lag in performance :):)

                            It is Good to be Important but! it is more Important to be Good

                            E Offline
                            E Offline
                            Ennis Ray Lynch Jr
                            wrote on last edited by
                            #14

                            I really doubt MS would implement it as such but I would really like to see documentation on the way Int32.TryParse was implemented just so I can see for myself. I suppose, if I wasn't so lazy I could just look at the MSIL ... actually I think I am about to do that.


                            On two occasions I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. - Charles Babbage

                            E 1 Reply Last reply
                            0
                            • E Ennis Ray Lynch Jr

                              I really doubt MS would implement it as such but I would really like to see documentation on the way Int32.TryParse was implemented just so I can see for myself. I suppose, if I wasn't so lazy I could just look at the MSIL ... actually I think I am about to do that.


                              On two occasions I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. - Charles Babbage

                              E Offline
                              E Offline
                              Ennis Ray Lynch Jr
                              wrote on last edited by
                              #15

                              No try catch. I would post a snippet but it is way long. Int32.TryParse traces all the way up to Number.ParseNumber.


                              On two occasions I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. - Charles Babbage

                              1 Reply Last reply
                              0
                              • J J4amieC

                                rah_sin wrote:

                                for (int i = 0; i < ca.Length;i++) { if (Char.IsNumber(ca[i])) return false; else return true; }

                                This logic is so badly flawed.. 1) false is returned if a character is numeric - the purpose of the method was supposed to be returning true if a caracter is numeric 2) It always returns on the first character, rather than checking the whole string is made up of numbers... basically the for loop is useless.

                                --- How to get answers to your questions[^]

                                R Offline
                                R Offline
                                rah_sin
                                wrote on last edited by
                                #16

                                my aim was not to write codes for u rather to suggest the method Char.IsNumber(); now its upto u that how can u use it for ur purpose i think u people are smart enough to write ur ownn logics.

                                rahul

                                1 Reply Last reply
                                0
                                Reply
                                • Reply as topic
                                Log in to reply
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes


                                • Login

                                • Don't have an account? Register

                                • Login or register to search.
                                • First post
                                  Last post
                                0
                                • Categories
                                • Recent
                                • Tags
                                • Popular
                                • World
                                • Users
                                • Groups