[英]Strange FormatException when converting to octal
所以我有一个整数 208
我不希望很多人理解我为什么这样做,但是我试图做的最终结果是得到八进制数208(二零八)的基数为10的表示形式。 。 我希望(对于将尝试回答此问题的人而言)令人困惑的事情是,虽然208是整数,但我更像是使用包含两个,零和八个字符的字符串来使用它。 请让我知道是否还有其他问题,因为我认为这会引起一些混乱。
无论如何,这是我要做的以10为底的表示形式“ 208”:
int
208转换为string
“ 208”。 string
“ 208”,并将其从八进制解析为十进制 。 然后,这里是相应的源代码:
public byte OctalToDecimal(int octalDigits)
{
byte decimalValue = 0;
string octalString = string.Empty;
// first, get a string representation of the integer number
octalString = octalDigits.ToString();
// now, get the decimal value of the octal string
decimalValue = Convert.ToByte(octalString, 8);
// set the decimal-value as the label
return decimalValue;
}
octalDigits = 208
时出现格式异常。 我收到一条消息,提示octalString
的值中还有其他字符。 为什么会这样呢? 我所做的只是从int
转换为string
它非常短/简单,并且不像我在此处附加任何内容。 到底是怎么回事?
八进制数不能包含数字8,例如以10为基数的表示形式不能包含“数字” 10,而二进制数不能包含数字2。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.