【发布时间】:2012-05-19 02:51:52
【问题描述】:
我正在尝试将 12122(基数 3)转换为 int 值,
但是我在反射器中看到 - 支持的基础是 2,8,10,16
public static int ToInt32(string value, int fromBase)
{
if (((fromBase != 2) && (fromBase != 8)) && ((fromBase != 10) && (fromBase != 0x10)))
{
throw new ArgumentException(Environment.GetResourceString("Arg_InvalidBase"));
}
return ParseNumbers.StringToInt(value, fromBase, 0x1000);
}
(我认为他们错过了 2-8 之间的 4,但没关系....)
那么,如何将基数 3 转换为基数 10? (为什么他们还是不给选项?...)
【问题讨论】:
-
自己实现,不会太难
-
0x10==16(十六进制数),所以第四个在那里
-
“他们为什么不给选项呢?” - 好吧,你真的有base-3的数据吗?如果是这样,为什么???
-
@HenkHolterman 我们的工作中有开关。每个可以有 3 个状态....这是它开始的地方....我们正在保存 int 值...并且需要返回....(真的,为什么我拥有它很重要?我只是有它...在我开始在这里工作之前就开始了:))
-
@HenkHolterman 再次,保存字段是 int。 (历史问题...),还要考虑以 10 为底的 9999 ,以 2 为底的它将是“10011100001111” - 所以你的解决方案保存为字符串效率不高
标签: c# .net int converter type-conversion