返回以10为基数的整数
本文关键字:整数 返回 | 更新日期: 2023-09-27 18:05:17
我一直在尝试理解如何在c#中输入一个整数并让函数返回以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));