如何在C#中组合两个整数
本文关键字:两个 整数 组合 | 更新日期: 2023-09-27 18:28:21
假设我有以下代码:
int digit1 = 1;
int digit2 = 3;
我需要将这两个整数组合,得到一个等于13.0f
的浮点数。这可能很容易,因为我是C#的新手,并且是从书中学习的,但这是如何做到的呢?
示例:
int digit1 = 3;
int digit2 = 6;
float result = combine_integers (digit1, digit2);
// result = 36
注意:
我其实并不需要函数。我这么做只是为了树立榜样。
float combine_integers (int digit1, int digit2)
{
return 10*digit1 + digit2;
}
示例
combine_integers(1, 3) ==>
10 * 1 + 3 ==>
10 + 3 ==>
13
combine_integers(3, 6) ==>
10 * 3 + 6 ==>
30 + 6 ==>
36
如果你的整数是个位数,那么abelenky上面的答案对你来说最快。若它们不是个位数,那个么你们可以做字符串。Format(),但也有一些边缘情况没有涵盖,例如负值或两个值都为0。
上面的字符串操作可能会产生诸如"00"、"5-1"之类的结果,或者由于无法解析字符串结果而引发错误。在{5,-1}的情况下,您可能会得到49。
我要做的是覆盖我的基数,并假设如果你使用负数,你想要绝对值。此代码还涵盖了个位数的基本情况,但为您提供了一些灵活性,使combine_tegers(12,34)返回1234.0f
static float combine_integers (int digit1, int digit2)
{
int checker = Math.Abs(digit2);
int result = Math.Abs(digit1);
do
{
result *= 10;
checker /= 10;
} while(checker>0);
result += Math.Abs(digit2);
return (float)result;
}
private static float combine_integers(int a, int b)
{
return float.Parse(a.ToString() + b.ToString());
}
https://dotnetfiddle.net/M9Bpwt
试试这个代码:
int digit1 = 3;
int digit2 = 6;
string concat = string.Format("{0}{1}", digit1, digit2);
float result = float.Parse(concat);