将八进制数视为小数

时间:2016-08-16 13:02:51

标签: java string decimal octal

我正在学习JAVA,最近我在一些训练任务中遇到了同样的问题。

我有一些数字,其中一些是从0开始。我发现这些数字是八进制的,这意味着它不是我想要的数字或它给我一个错误(因为“8”或在我把它读成int或long之后,“9”因为它们不是八进制数字...

到目前为止,我只需要使用两位数字,如14或05。 我将它们视为字符串并将它们转换为数字,其函数检查所有字符串数字并将它们转换为这样的数字

String numStr = "02";

if(numStr.startsWith("0")) {
    int num = getNumericValue(numStr.charAt(1));
} else {
    int num = Integer.parseInt(numStr);
}

现在我有一个未知数字的未知数字(因此可能超过2)。我知道如果我想要,我可以使用循环和.substring(),但必须有一个更简单的方法。

有什么方法可以简单地忽略零点吗?

编辑:

到目前为止,我总是编辑我必须使用的数字作为字符串,因为我找不到更简单的方法来解决问题。当我0010 27 09时,我必须声明它: String[] numbers = {"0010", "27", "09"};
因为如果我这样宣布:
int[] numbers = {0010, 27, 09};
数字[0]将是8而不是10而数字[2]会给我一个错误

其实我不想和字符串一起工作。我真正想要的是读取以零开头的数字作为数字(例如:int或long),但我希望它们是十进制的。问题是我从一个来源获得了很多数字。我将它们复制到代码中并将其编辑为数组的声明。但是我不想将它们编辑为Strings只是为了删除零并再次使它们成为数字。

0 个答案:

没有答案