public class Envalue { public static void main(String args[]){ double a = 12343.5678; long b; short c;
String tmp = String.valueOf(a); b = Long.parseLong(tmp.substring(0,tmp.lastIndexOf('.'))); c = Short.parseShort(tmp.substring(tmp.lastIndexOf('.')+1));
System.out.println(b); System.out.println(c); } }
寻求位操作的方法 用& 偶在学习 嘿嘿 高手们辛苦了
^_^,对亚,double和float不能用位操作符!
....... 只能对int型和int型兼容类型用位操作符
位操作只对int以及int以下有效啊!
public static void main(String [] args) { double a = 12343.5678; int b = (int) a, c = b; int dot = String.valueOf(a).length() - String.valueOf(a).indexOf("."); for(int i = 1; i < dot; i++){ a *= 10; c *= 10; } c = (short) (a - c); System.out.println("b = " + b + ", c = " + c); }
public static void main(String args[]){
double a = 12343.5678;
long b;
short c;
String tmp = String.valueOf(a);
b = Long.parseLong(tmp.substring(0,tmp.lastIndexOf('.')));
c = Short.parseShort(tmp.substring(tmp.lastIndexOf('.')+1));
System.out.println(b);
System.out.println(c);
}
}
只能对int型和int型兼容类型用位操作符
{
double a = 12343.5678;
int b = (int) a, c = b;
int dot = String.valueOf(a).length() - String.valueOf(a).indexOf(".");
for(int i = 1; i < dot; i++){
a *= 10;
c *= 10;
}
c = (short) (a - c);
System.out.println("b = " + b + ", c = " + c);
}
Double不能位操作.