在字符串中添加数字?

时间:2011-05-14 05:25:17

标签: c#

我的字符串看起来像“01”,“02”。是否有一种简单的方法可以将字符串更改为数字,添加1然后将其更改回字符串,以便这些字符串现在看起来像“02”,“03”等。我不是很擅长C#我刚刚开始,我之前没有得到过价值。

5 个答案:

答案 0 :(得分:12)

要从字符串获取整数,您可以使用int.Parse()

int i = int.Parse("07");

要返回具有特定格式的字符串,您可以使用string.Format()

strings = string.Format("{0:00}",7);

如果我正确理解http://www.csharp-examples.net/string-format-int/,后者应该给出“07”。

答案 1 :(得分:0)

您可以使用Convert.ToInt32()将字符串转换为数字,添加1,并使用ToString()将其转换回来。

int number = Convert.ToInt32(originalString);
number += 1;
string newString = number.ToString();

答案 2 :(得分:0)

解析整数

int i = int.Parse("07");

添加到您的整数

i = i + 1;

创建一个新的字符串变量并将其分配给该整数的字符串值

string newstring = i.ToString();

答案 3 :(得分:0)

AddStringAndInt(string strNumber, int intNumber)  
{
    //TODO: Add error handling here
    return string.Format("{0:00}", (int.TryParse(strNumber) + intNumber));
}

答案 4 :(得分:0)

static string StringsADD(string s1, string s2)
{
    int l1 = s1.Count();
    int l2 = s2.Count();

    int[] l3 = { l1, l2 };
    int minlength = l3.Min();
    int maxlength = l3.Max();
    int komsu = 0;
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < maxlength; i++)
    {

        Int32 e1 = Convert.ToInt32(s1.PadLeft(maxlength, '0').ElementAt(maxlength - 1 - i).ToString());
        Int32 e2 = Convert.ToInt32(s2.PadLeft(maxlength, '0').ElementAt(maxlength - 1 - i).ToString());
        Int32 sum = e1 + e2 + komsu;
        if (sum >= 10)
        {
            sb.Append(sum - 10);
            komsu = 1;
        }
        else
        {
            sb.Append(sum);
            komsu = 0;
        }
        if (i == maxlength - 1 && komsu == 1)
        {
            sb.Append("1");
        }

    }

    return new string(sb.ToString().Reverse().ToArray());
}

我需要添加1000位数的巨大数字。 C#中最大的数字类型是double,最多只能包含39位数字。这里是一个代码示例,用于添加非常大的数字,将它们视为字符串。