如何在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

注意:
我其实并不需要函数。我这么做只是为了树立榜样。

如何在C#中组合两个整数

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);