有点看不清a是b的平方减4ac吗。因为浮点型的数据在存储时是有误差的,比如0.1可能储存为0.09999999(不一定,和编译器等因素有关)。所以比较两个double是否相等时不能用a==b,而要用a-b<=一个很小的数。这是应该是一种规范。