返回以10为基数的整数

本文关键字:整数 返回 | 更新日期: 2023-09-27 18:05:17

我一直在尝试理解如何在c#中输入一个整数并让函数返回以10为基数的数字。我研究了一下,除了数学公式之外,找不到很多代码示例。

谢谢!

返回以10为基数的整数

听起来你只是想:

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

做了很多假设,我猜你想要这样的东西:

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