java中比较2个数的大小.例如(20120709060000和20120709060100)
6736,20120709060000,1582.4,1583.0,1581.0,1581.0
6737,20120709060100,1581.0,1581.7,1580.4,1580.4
6738,20120709060200,1580.4,1580.7,1579.3,1580.4
6739,20120709060300,1579.7,1580.5,1579.5,1580.2
这个是txt文档,第二列是我要比较的值.假设我 1.定义time等于第二列的所有值,2.当time=20120709060100,获取对应的第三列的值;3.获取time>20120709060100的所有第三列值. 我不知道给time赋 什么类型的,才保证time=20120709060100时,获得的第三列的值是唯一的.用过 long,double类型,获取的值都不是唯一的.求高手帮忙.
------最佳解决方案--------------------String time =star.nextToken();
...
String time1="20120709080000l";
//String price;
if(time1.equal(time)){
以下略
------其他解决方案--------------------既然是txt,可以直接使用String类型,其次可以转化为日期类型,
如果一定要用数字类型,可以尝试BigDecimal,BigDecimal可以用来对超过16位有效位的数进行精确的运算
------其他解决方案--------------------1、如果你的数据来源第三列不是唯一的,你怎么唯一?所以这里的唯一不为你所控!
2、看你提供的数据案例,第二列就用String就可以了
------其他解决方案--------------------time 就用 String进行比较,很好用。
------其他解决方案--------------------已经提示你"1578.7"的
NumberFormatException(数值转换错误),这个你要转换要用Double,Float或者BigDecimal,而不能用long
------其他解决方案--------------------try{
bufferedReader = new BufferedReader(new FileReader("D:\\20120709.txt"));
String l;
while ((l = bufferedReader.readLine()) != null) {
//opeartion l
StringTokenizer star = new StringTokenizer(l,",");
int id = Integer.parseInt(star.nextToken());
long time =Long.parseLong(star.nextToken());
//String time=star.nextToken();
String start = star.nextToken();
String high = star.nextToken();
String low = star.nextToken();
String end = star.nextToken();
long time1=20120709080000l;
//String price;
if(time==time1){
buy=start.toString();
//price=buy;System.out.println(buy);
//
}//
else if(time>time1 ){
String set=start.toString();
long buyNum = Long.valueOf(buy).longValue();
long setNum = Long.valueOf(set).longValue();
if((buyNum-setNum )==2){
System.out.println("OK!");
}
else if((setNum - buyNum)==4){
System.out.println("no!");
}
}
我是这样写的,报错了(Exception in thread "main"
java.lang.NumberFormatException: For input string: "1578.7"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:441)).
------其他解决方案--------------------那该怎么改才好呢?刚刚接触编程,有点菜.可以指导下么?
------其他解决方案--------------------补充一句,比较大小直接比较就行,跟数字一样
------其他解决方案--------------------String直接就能比较