标签:占用 ring png info 超出 parse 包装 精度 存储
将 String类型转换为数字类型的时候要注意,数据类型的范围
整型:
byte的取值范围为-128~127,占用1个字节(-2的7次方到2的7次方-1)
short的取值范围为-32768~32767,占用2个字节(-2的15次方到2的15次方-1)
int的取值范围为(-2147483648~2147483647),占用4个字节(-2的31次方到2的31次方-1)
long的取值范围为(-9223372036854774808~9223372036854774807),占用8个字节(-2的63次方到2的63次方-1)
至于表示方法:如:22B,表示它是byte型的,同样的22S表示short型,22L表示long型的,表示int我们可以什么都不用加
浮点型 :
float 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同样,e-45表示乘以10的负45次方)占用4个字节
double 1.797693e+308~ 4.9000000e-324 占用8个字节
double型比float型存储范围更大,精度更高,所以通常的浮点型的数据在不声明的情况下都是double型的,如果要表示一个数据是float型的,可以在数据后面加上“F”。
要是超出数字范围或者不是数字类型就会报错。
主要的实现是借助 方法 Paes*(解析)
比如:字符串转换为 double 类型
Double.parseDouble(s1);
代码:
package com.obge.contr; public class ChangeStoN { public static void main(String[] args) { String s1 = "2222"; //String s2 = "aaa2"; // 也是靠包装类 double d1 = Double.parseDouble(s1); //double d2 = Double.parseDouble(s2); float f1= Float.parseFloat(s1); //byte by1 = Byte.parseByte(s1); short st1 = Short.parseShort(s1); long l1 = Long.parseLong(s1); int i1 = Integer.parseInt(s1); System.out.println("转换前:"); System.out.println(s1+"的类型是:"+getType(s1)); System.out.println("转换后:"); System.out.println(d1+"的类型是:"+getType(d1)); //System.out.println(d2+"的类型是:"+getType(d2)); System.out.println(f1+"的类型是:"+getType(f1)); //System.out.println(by1+"的类型是:"+getType(by1)); System.out.println(st1+"的类型是:"+getType(st1)); System.out.println(l1+"的类型是:"+getType(l1)); System.out.println(i1+"的类型是:"+getType(i1)); //System.out.println("的类型是:"+getType(Double.parseDouble(s2))); //System.out.println(i1+"转换前的类型是:"+getType(i1)+"转换后的类型是:"+getType(si1)); } //获取变量类型方法 public static String getType(Object o){ //调用该方法返回变量类型 getClass()方法 return o.getClass().toString(); } }
看看调用了什么静态方法,注意哦要想看的详细,要引用jdk 对应的文档
其他的也都差不多
标签:占用 ring png info 超出 parse 包装 精度 存储
原文地址:https://www.cnblogs.com/obge/p/12162818.html