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

时间:2015-12-29 17:27:36

标签: c# floating-point int

我们说我有以下代码:

int digit1 = 1;
int digit2 = 3;

我需要组合两个整数,导致浮点数等于13.0f。这可能很容易,因为我是C#的新手并从一本书中学习它,但它是如何完成的?

示例:

int digit1 = 3;
int digit2 = 6;
float result = combine_integers (digit1, digit2);
// result = 36

注意: 我实际上并不需要一个功能。我只是为了这个例子而这样做。

4 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:0)

如果你的整数是单个数字,那么abelenky上面的答案就是为你做最快的。如果它们不是单个数字,那么您可以像上面那样执行string.Format(),但也有一些未被覆盖的边缘情况,例如负值或两个值都是0

上面的字符串操作可能会产生诸如&#34; 00&#34;,&#34; 5-1&#34;之类的结果,或者因无法解析字符串结果而抛出错误。在{5,-1}的情况下,最终可能会得到49。

我要做的是掩盖我的基础并假设如果你使用负数,你需要绝对值。此代码还涵盖了单个数字的基本情况,但为您提供了一些灵活性,以便combine_integers(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;
    }

答案 2 :(得分:-3)

private static float combine_integers(int a, int b)
{
    return float.Parse(a.ToString() + b.ToString());
}

https://dotnetfiddle.net/M9Bpwt

答案 3 :(得分:-3)

试试这段代码:

int digit1 = 3;
int digit2 = 6;
string concat = string.Format("{0}{1}", digit1, digit2);
float result = float.Parse(concat);