String hours="1.51";
java.util.StringTokenizer str = new java.util.StringTokenizer(hours,".");
System.out.println(str.nextToken());
System.out.println(str.nextToken());
java.util.StringTokenizer str = new java.util.StringTokenizer(hours,".");
System.out.println(str.nextToken());
System.out.println(str.nextToken());
int i = (int)db.doubleValue();
double f = db.doubleValue() - i;
int index = hours.indexOf('.');
if(index != -1)
{
整数部分 = hours.substring(0, index);
小数部分 = hours.substring(index + 1);
}
else
{
整数部分 = hours;
小数部分 = "0";
}
java.util.StringTokenizer str = new java.util.StringTokenizer(hours,".");
System.out.println(str.nextToken());
System.out.println(str.nextToken());output:
1
51是字符串,需要转换为数据类型,小数部分前面需要加“0.”第二种方式:Double db = new Double("1.51");
int i = (int)db.doubleValue();
double f = db.doubleValue() - i;可做如下一点改动:
Double db = new Double("1.51");
int i = db.intValue();
double f = db.doubleValue() - i;但输出如下:
10.51如果改为1.511就会输出如下:
10.5109999999999999第三种方式最好加try语句,因为很可能出现IndexOutOfBoundsException异常