在C#中两个很大的数字相加怎么计算也就是说这两个数字一般的数据类型不能用了 ,只能用string类型了
来源:学生作业帮助网 编辑:六六作业网 时间:2024/12/27 07:07:37
在C#中两个很大的数字相加怎么计算也就是说这两个数字一般的数据类型不能用了 ,只能用string类型了
在C#中两个很大的数字相加怎么计算
也就是说这两个数字一般的数据类型不能用了 ,只能用string类型了
在C#中两个很大的数字相加怎么计算也就是说这两个数字一般的数据类型不能用了 ,只能用string类型了
以前写过了的,不过是不带小数点的,LZ看看:
string aa = "818238128322231231231241209438123491032012";
string bb = "23333333333332342340234123901283012742934810231203812";
string strRes = "";
if (bb.Length > aa.Length) //bb比aa长的情况
{
bool isUp = false; // 进位符
for (int i = bb.Length - 1,j=aa.Length - 1; i >= 0; i--,j--)
{
int intbb = int.Parse(bb[i].ToString());
int intaa = j >=0 int.Parse(aa[j].ToString()) :0;
if (isUp)
{
if ((intbb + intaa) < 9)
{
strRes = strRes.Insert(0,(intbb + intaa + 1).ToString());
isUp = false;
}
else
{
strRes = strRes.Insert(0,((intbb + intaa + 1) % 10).ToString());
isUp = true;
}
}
else
{
if ((intbb + intaa) < 10)
{
strRes = strRes.Insert(0,(intbb + intaa).ToString());
isUp = false;
}
else
{
strRes = strRes.Insert(0,((intbb + intaa) % 10).ToString());
isUp = true;
}
}
}
}
else
{
//aa比bb长的情况,同上面一样,交换一下即可
}
Console.WriteLine(strRes);//输出结果
Console.ReadLine();