字符串和数字之间的相互转化
Posted Fan-notehub
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串和数字之间的相互转化相关的知识,希望对你有一定的参考价值。
- 通过包装类的 ValueOf() 方法,可以将字符串转换为想要的包装类,Byte、Short、Integer、Long、Float、Double 都有对应的 ValueOf() 方法。
基本可以实现相互转换,非常常用!
int y = 102222; String str = "102222"; Integer x = Integer.valueOf(str); String hString = String.valueOf(y);
2、直接拼接空字符串
String string2 = test + "";
3、包装类的 toString() 方法
注意该方法只适用于包装类,基本数据类型需要先调用包装类的 ValueOf() 方法再使用。
String string3 = test.toString();
4.通过包装类的 parseXXX() 方法
可以将字符串转换为想要的基本数据类型,同上都有相应的 parseXXX() 方法
int int2 = Integer.parseInt(test); double dou2 = Double.parseDouble(test);
十进制和二进制之间的相互转化
/* * * 每一个位上对应的数字 * …… 10 9 8 7 6 5 4 3 2 1 0 分别表示2的N次方 * …… 1024 512 256 128 64 32 16 8 4 2 1 * * 二进制转十进制 * 100100001 * 1 0 0 1 0 0 0 0 1 * 256 0 0 32 0 0 0 0 1 * 100100001=256+32+1=289 为零则表示该位上没有数字 ,个位数是1该数一定是基数.例如100100000则等于256+32=288 * * * 十进制转二进制 * 1659 * * 1659对应的是1024,在第11位,第11位则为1,然后用1659-1024=635 * 635对应的是512,在第10位,第10位则为1,然后用635-512=123 * 123对应的是64,则第9,8位为0,第7位为1,然后用123-64=59 * 59对应的是32,则第6位数字为1,然后用59-32=27 * 27对应的是16,则第5位数字为1,然后用27-16=11 * 11对应的是8,则第4位数字为1,然后用11-8=3 * 3对应的是2,第3位为0,第2位则为1,然后用3-2=1 * 1对应的是1,则第1位数字则为1 * 最终结果是:1 1 0 0 1 1 1 1 0 1 1 * * * * 负十进制数转二进制 * java中int 是4个字节,所以高位需要补0,占够32位(例如6的二进制0110实际是00000000 00000000 00000000 00000110),最高位存放符号(0为正,1为负). * -659 * 1.先将计算出659的二进制数据:00000000 00000000 000000001 010010011 * 2.然后将计算出的二进制取反: 11111111 11111111 111111110 101101100 * 3.然后最后一位补码,在最后一位+1:11111111 11111111 111111110 101101101(二进制逢二进一:例如二进制101+1=110) * -658的二进制 * 11111111 11111111 111111110 101101110 * * 负二进制数转二进制 * 11111111 11111111 111111110 101101110 * 1.取反 00000000 00000000 000000001 010010001 * 2.+1 00000000 00000000 000000001 010010010 * 3.十进制换算成二进制,然后加上负号 */
以上是关于字符串和数字之间的相互转化的主要内容,如果未能解决你的问题,请参考以下文章