在Base 10中返回整数

时间:2013-03-22 18:49:45

标签: c# base

我一直试图理解如何输入一个整数并使用函数返回C#中基数为10的数字。我已经研究过,除了数学公式之外,找不到很多代码示例。

谢谢!

2 个答案:

答案 0 :(得分:5)

听起来你只是想要:

int value = 2590123;
string text = value.ToString();

这将自动使用基数10 ...至少在我所知道的所有文化中。如果你真的想确定,请使用不变文化:

string text = value.ToString(CultureInfo.InvariantCulture);

请注意,当您使用某种形式的单独“数字”(例如字符串表示)来讨论某些表示时,基本概念才有意义。一个纯粹的没有基数 - 如果你有16个苹果,那就像你拥有0x10苹果一样。

编辑:或者如果你想编写一个方法来将数字序列作为整数返回,那么最不重要的是:

// Note that this won't give pleasant results for negative input
static IEnumerable<int> GetDigits(int input)
{
    // Special case...
    if (input == 0)
    {
        yield return 0;
        yield break;
    }
    while (input != 0)
    {
        yield return input % 10;
        input = input / 10;
    }
}

答案 1 :(得分:0)

做出很多假设,我猜你想要这样的事情:

// All ints are "base 10"
var thisIsAlreadyBase10 = 10;
Console.WriteLine("The number {0} in base 10 is {0}", thisIsAlreadyBase10);

// However, if you have a string with a non-base 10 number...
var thisHoweverIsAStringInHex = "deadbeef";
Console.WriteLine(
    "The hex string {0} == base 10 int value {1}", 
    thisHoweverIsAStringInHex, 
    Convert.ToInt32(thisHoweverIsAStringInHex, 16));