I\'ve coded using float variables before and never had this problem.
float a, b, subtotal, stx; a=15.95; b=24.95; subtotal=a+b; stx=subtotal*.07; cout <
15.95 is treated as a double no matter what it is assigned to; the variable's type only affects what value it ends up holding, not what you try to assign to it. The right side of an assignment is always evaluated first.
15.95