那是因为4.0和4.00赋值个bigdecimal之后都被截成 4 了.
不信你println(b1.toString()+" "+b2.toString())看看
不信你println(b1.toString()+" "+b2.toString())看看
解决方案 »
- 北大acm 1002 求救
- 如word一样菜单下边的一排图标,在JFrame中能够加入吗?谢谢了。
- 对象数组的排序??
- 帮忙分析以下程序
- 人民币200元 求Swing家教一名: 实现资源管理器功能
- 一个关于在线程中计算时间的问题!
- JScrollPane 与ScrollPane的区别(参与有分)
- 双核/四核 多线程随机数产生相同
- 通过socket接受到网络字节顺序发送的4个字节,已知道到此4字节代表一整数,那么怎样将此4字节转换成整数?
- 求教 能用代码操作java游戏吗?
- 在eclipse中用lomboz跑tomcat的时候,jsp文件不可以编译成class.应该是没权限生成文件.怎么办?
- 如何判断系统内是否已经存在一个类的实例
改成:
import java.math.BigDecimal;
class Test {
public static void main(String[] args) {
BigDecimal b1 = new BigDecimal("4.0");
BigDecimal b2 = new BigDecimal("4.00");
if(b1.equals(b2)) System.out.println("equals");
if(b1.compareTo(b2)==0) System.out.println("equals");
}
}就OK啦。
java.math.BigDecimal(double)
java.math.BigDecimal(java.lang.String)
java.math.BigDecimal(java.math.BigInteger)
java.math.BigDecimal(java.math.BigInteger, int) new的时候最好先确定你要使用其中的哪个构造器噢
这样才不至于把其中的参数写错
估计不同的构造器可能会得出不同的结果噢
楼主不妨深入研究一下咯
double x = 4.0; //or 4.00
}两个class编译出来是一模一样的,可见4.0, 4.00, 在编译阶段就是变成同样的东西了
frmChoose 你是设置为自动创建,但你删除了 对应的.H 和.CPP文件里相对应的全局变量 frmChoose。