我一直试图理解如何输入一个整数并使用函数返回C#中基数为10的数字。我已经研究过,除了数学公式之外,找不到很多代码示例。
谢谢!
答案 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));