Hoe knip en converteer je een string naar integer?

hoe kan ik een string bijsnijden en converteren als volgt:

string abc = "15k34"
int x = first two characters of abc//should be 15
but if abc begins with "0"
for example - string abc = "05k34"
int x = first two characters of abc//should be 5
0
blij om te helpen, proost :)
toegevoegd de auteur Jeremy Thompson, de bron
Tip om het probleem te vereenvoudigen: int.Parse ("15") -> 15 , int.Parse ("05") -> 5 , int.Parse ( "15k34") -> kaboom! Dus, dan "hoe de eerste twee letters te krijgen" (die vermoedelijk cijfers zijn)? Welnu, wat is geprobeerd? (Ik stem voor sluiten als te gelokaliseerd. Probeer het eens, zoek vervolgens uit waarom ze niet werkten of hoe ze beter konden worden gedaan.)
toegevoegd de auteur user166390, de bron
Kijk naar mijn eerste opmerking. int.Parse ("09") -> ??? Dus, hoe de "09" bit te krijgen?
toegevoegd de auteur user166390, de bron
string abc variëren. de volgende keer is "09b23" bijvoorbeeld. maar de eerste twee tekens zijn altijd cijfers
toegevoegd de auteur Buena, de bron

3 antwoord

Probeer met de volgende code:

            string str = "15k34";
            int val;
            if (str.Length>1)
            {
                if (int.TryParse(str.Substring(0, 2), out val))
                {
                    //val contains the integer value
                }

            }
5
toegevoegd
string abc = "15k34";
int x = 0;
//abc = "05k34";
int val;
if (!string.IsNullOrEmpty(abc) && abc.Length > 1)
{
    bool isNum = int.TryParse(str.Substring(0, 2), out val);
    if (isNum)
    {
        x = val;
    }
}
2
toegevoegd
OK. Ik denk dat dit zal werken. dank je.
toegevoegd de auteur Buena, de bron

Ik denk dat je van de pseudocode meestal nummers hebt met 'k' erin die duizenden vertegenwoordigen.

Zo...

string abc = "15k34";
string[] numbers = abc.Split('k');  //This will return a array { "15", "34" }
int myInt = Convert.ToInt32(numbers[0]); 

Als de reeks "05k34" was, zou de waarde van myInt dan 5 zijn.

documentatie:

http://msdn.microsoft.com/en-us/library/1bwe3zdy
http://msdn.microsoft.com/en-us/library/bb397679.aspx

1
toegevoegd