2011-03-16 6 views

答えて

47

あなたはcharの?:

int yourInt = 33; 
char ch = (char) yourInt; 
System.out.println(yourInt); 
System.out.println(ch); 
// Output: 
// 33 
// ! 

それともString秒にint秒を変換したいんにint Sを変換したいですか?

int yourInt = 33; 
String str = String.valueOf(yourInt); 

これは何を意味していますか?

14

最初にintをcharに変換すると、ASCIIコードが作成されます。例えば

:最後の答え ストリングstrAsciiTab = Character.toString((CHAR)iAsciiValue)で実際に

int iAsciiValue = 9; // Currently just the number 9, but we want Tab character 
    // Put the tab character into a string 
    String strAsciiTab = Character.toString((char) iAsciiValue); 
1

。最初の答えを意味 要部仕事をしている(CHAR)iAsciiValue(無駄をCharacter.toString)である

は実際 チャーCH =(CHAR)yourInt正しかったです。

49 = yourintであれば(または0x31)、chは「1」が

2

あり(必要に応じて)ASCIIにint型に変換する多くの方法があるが、ここで各整数のバイトを変換するための方法であるだろうASCII文字に:たとえば

private static String toASCII(int value) { 
    int length = 4; 
    StringBuilder builder = new StringBuilder(length); 
    for (int i = length - 1; i >= 0; i--) { 
     builder.append((char) ((value >> (8 * i)) & 0xFF)); 
    } 
    return builder.toString(); 
} 

、 "TEST" のASCIIテキストは、バイト配列として表すことができます。

byte[] test = new byte[] { (byte) 0x54, (byte) 0x45, (byte) 0x53, (byte) 0x54 }; 

その後、あなたは次のことを行うことができます:

int value = ByteBuffer.wrap(test).getInt(); // 1413829460 
System.out.println(toASCII(value)); // outputs "TEST" 

...これは基本的に、32ビット整数の4バイトを4つの別々のASCII文字(1バイトあたり1文字)に変換します。

1

Javaでは、実際にはInteger.toStringを使用して整数を対応する文字列値に変換します。

private static final char[] DIGITS = 
    {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'}; 

private static char getDigit(int digitValue) { 
    assertInRange(digitValue, 0, 9); 
    return DIGITS[digitValue]; 
} 

をまたは、同等:あなただけの数字0-9を扱っている場合は、このようなものを使用することができ

private static int ASCII_ZERO = 0x30; 

private static char getDigit(int digitValue) { 
    assertInRange(digitValue, 0, 9); 
    return ((char) (digitValue + ASCII_ZERO)); 
} 
0

あなたはJavaでASCIIに数値を変換することができます。例は、数値1(基数10)をASCIIに変換します。

char k = Character.forDigit(1, 10); 
System.out.println("Character: " + k); 
System.out.println("Character: " + ((int) k)); 

出力:

Character: 1 
Character: 49 
関連する問題