.NET 是否具有与 PHP 等效的本机功能基数转换 http://php.net/base_convert或者我需要自己写?我想从任何基数转换为任何其他基数 - 其中“to”基数或“from”基数可以是 2-36 的任何整数。
PHP 函数示例:base_convert($number_to_convert, $from_base, $to_base)
// convert 101 from binary to decimal
echo base_convert('101', 2, 10);
// 5
正如 Luke 在 Jon Skeet 的回答的评论中指出的那样: Convert.ToString 无法处理与任何任意基数的转换,只有 2、8、10 和 16
Update:显然,答案是:不,没有本地方式。下面,Erik 展示了一种实现此目的的方法。另一个实现在这里:http://www.codeproject.com/KB/macros/Convert.aspx http://www.codeproject.com/KB/macros/Convert.aspx
编辑:这个答案非常方便,但仅适用于基数 2、8、10 和 16
您可以使用Convert.ToInt32(text, base) http://msdn.microsoft.com/en-us/library/1k20k614.aspx进而Convert.ToString(number, base) http://msdn.microsoft.com/en-us/library/14kwkz77.aspx:
using System;
class Test
{
static void Main()
{
int number = Convert.ToInt32("101", 2);
string text = Convert.ToString(number, 10);
Console.WriteLine(text); // Prints 5
}
}
如果您要在基数 10 之间进行转换,则无需指定 - 这是默认值。
请注意,这仅适用于基数 2、8、10 和 16。如果您想要其他内容,则必须编写自己的解析器/格式化程序。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)