Java的无符号类型

时间:2012-03-15 13:29:42

标签: java byte

有谁能告诉我如何将无符号字符'0'转换为Java中的字节?

谢谢

3 个答案:

答案 0 :(得分:3)

根据您的目的,您可以采用两种方式进行隐蔽

char ch = '0';
byte b = (byte) ch; // ASCII value of '0'

byte b = (byte) (ch - '0'); // numeric value of 0

byte b = (byte) Character.getNumericValue(ch); // numeric value.

最后一个很有趣,因为它为您提供了所有字符的数值,而不仅仅是'0'..'9'

for (int ch = Character.MIN_VALUE; ch < Character.MAX_VALUE; ch++) {
    int value = Character.getNumericValue(ch);
    if (value > 99)
        System.out.println("The numeric value for " + (char) ch + " is " + value);
}

打印

The numeric value for ௱ is 100
The numeric value for ௲ is 1000
The numeric value for ፻ is 100
The numeric value for ፼ is 10000
The numeric value for Ⅽ is 100
The numeric value for Ⅾ is 500
The numeric value for Ⅿ is 1000
The numeric value for ⅽ is 100
The numeric value for ⅾ is 500
The numeric value for ⅿ is 1000
The numeric value for ↀ is 1000
The numeric value for ↁ is 5000
The numeric value for ↂ is 10000

答案 1 :(得分:0)

取决于我们如何解释这个问题,我想;但简单通常是最好的:

byte b = 0;

这假设你的0周围的引号是强调的,而不是语法的一部分!

答案 2 :(得分:0)

您可以直接对其进行类型转换,如下所示

byte bValue = (byte)c;

其中c是要转换为byte的字符。