两个string型的变量,存放的都是数值,但是有正负号和小数点,这样的两个string型变量如何按照数值进行比较????我想,先转换成Integer型进行比较,但是只要是有正负号和小数点,就有异常,应该如何解决。
解决方案 »
- java静态变量过多,如何解决
- 关于JDBC纯驱动自动连到别的数据库问题
- 获取某个package 的所有类名
- 关于JTable中导入数据.
- 一个字符串的我问题
- 一个座位的分配
- 编译成功,运行出错,提示Exception in thread "main" java.lang.NoClassDefFoundError: helloworld
- 一个奇怪的问题,编译 .java文件正常,执行程序是出错?在线等待。
- 求助!!关于两行代码的理解问题!请大虾近来看看!!
- 一个 IO 的弱问题! ----- 再线等待! 立即接分!
- jsp,javabean,servlet,struts有何关系?
- 前两天面试中的问题
Float.parseFloat("-1.25");
}
catch (NumberFormatException e) {
e.printStackTrace();
}
import java.lang.Double;
public class Test6 {
public static void main(String[] src){
String test1 = new String("2.8548334E4");
String test2 = new String("28.548334E3");
/*转换成double进行比较*/
double testdouble1 = Double.parseDouble(test1);
double testdouble2 = Double.parseDouble(test2);
System.out.println(testdouble1);
System.out.println(testdouble2);
if(testdouble1 != testdouble2){
System.out.println("不同!");
}
else{
System.out.println("相同!");
}
}
}
测试有效
String astr = "-1.23";
double aa = new Double(astr).parseDouble();
System.out.println("不同!");
}这样不行吧,一般float,double性的比较一般要用
if (abs(testdouble1-testdouble2) < 10E-8) {
System.out.println("不同!");
}
10E-8,这里的8就是你要的精度问题咯.