簡體   English   中英

在java中將long轉換為string,將string轉換為long

[英]Convert long to string and string to long in java

經過大量的搜索,我無法找到我要找的東西

我有兩個問題,如:

String str = "Hello"

現在我想要它的價值

072101108108111L

Ascii的地方

072 = H.

101 = e

108 = l

108 = l

111 = o

Hello

我怎么能這樣做,然后將其轉換回字符串?

例如,如果我有一個很長的值

 072101108108111L

那我怎樣才能在java中找回字符串“Hello”?

這是我所在的地方:

我可以像這樣得到長串

String str = "Hello";

StringBuilder sb = new StringBuilder();
for (char c : str.toCharArray())
   sb.append((int)c);
   BigInteger mInt = new BigInteger(sb.toString());
   String valu = mIn.tostring();

但“H”的值為72; 我希望它是072,因此結果是3個字符,因此它適合轉換回String的函數。

任何幫助PLZ

讓我告訴你如何開始。

我們可以使用for循環獲取ascii字符值並將其附加到字符串。

for(int i = 0; i < s.length(); ++i)
{
  int ch = (int)s.charAt(i);
  System.out.println(ch);
}

Prints 
72
101
108
108
111

現在,如果小於100 ,則要添加零

StringBuilder ans = new StringBuilder();
for(...){
...
if(ch < 100){
 ans.append("0).append(ch);
}
}

嘗試使用String本身而不是long。

String longValue = "072101108108111";

現在,您知道每個字母都表示為3個字符,每個字符分為3個字符。

for(int i = 0; i < s.length; i += 3)
{
  int ch = Integer.parseInt(s.substring(i, i + 3));//get the integer representation of the character
  System.out.println((char)ch);
}
private static String longToString(String string) {
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < string.length(); i = i + 3) {
        String substring = string.substring(i, i + 3);
        char ch = (char) Integer.parseInt(substring);
        sb.append(ch);
    }
    return sb.toString();
}

private static String stringToLong(String string) {
    StringBuffer sb = new StringBuffer();
    for (int i = 0; i < string.length(); ++i) {
        int ch = (int) string.charAt(i);
        if (ch < 100) {
            if(ch<10)
            {
            sb.append('0');
            }
            sb.append('0').append(ch);
        } else {
            sb.append(ch);
        }
    }
    return sb.toString();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM