繁体   English   中英

转换为八进制时出现奇怪的FormatException

[英]Strange FormatException when converting to octal

所以我有一个整数 208我不希望很多人理解我为什么这样做,但是我试图做的最终结果是得到八进制数208(二零八)的基数为10的表示形式。 。 我希望(对于将尝试回答此问题的人而言)令人困惑的事情是,虽然208是整数,但我更像是使用包含两个,零和八个字符的字符串来使用它。 请让我知道是否还有其他问题,因为我认为这会引起一些混乱。

无论如何,这是我要做的以10为底的表示形式“ 208”:

  1. int 208转换为string “ 208”。
  2. 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它非常短/简单,并且不像我在此处附加任何内容。 到底是怎么回事?

您应该知道八进制数字的范围是0到7

在这里,一些有用的链接

字节的八进制表示形式从000到377?

http://www.asciitable.com/

八进制数不能包含数字8,例如以10为基数的表示形式不能包含“数字” 10,而二进制数不能包含数字2。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM