[英]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.