Ok fixed the bug and added a function for rounding for you.

This will round to a whole number, rename the dynmamic text var to ttotal, everything else stays as stotal.

Actionscript Code:
onEnterFrame = function(){
    ttotal=Math.round(stotal);
}

To fix the calculation bug is also really simple.
add _root.

Actionscript Code:
_root.stotal -=20.4;

Adding that to them all will fix that issue I am tempted to say loop everything
I have attempted this though failed to get it to work, you can post this for others if you like depends what method you prefer as a beginner maybe best to use your method.
Actionscript Code:
stotal=0;
btn=[q1a,q1b,q1c,q1d,q1e,q1f,q1g,q1h,q1i,q1j];
sta=[false,false,false,false,false,false,false,false,false,false];
val=[".12","20.4","13.2","18.4","16",".17",".40",".5","1","1.9"];

onEnterFrame = function(){
    ttotal=Math.round(stotal);
    for (i=0; i<=btn.length-1; i++){
        btn[i].onRelease=function(){
            if (sta[i] == true){
                sta[i] = false;
                _root.stotal -= val[i];
                trace (val[i]);
            }else{
                sta[i] = false;
                _root.stotal += val[i];
                trace (val[i]);
            }
        }
    }
}