I think I would just keyframe a slider with the values and times where you want to stop, and use a simpler source text expression like this to do the formatting:
s = Math.round(effect("Slider Control")("Slider")).toString();
outStr = s.substr(-s.length, (s.length-1)%3 +1);
for (i = Math.floor((s.length-1)/3); i > 0; i--){
outStr += "," + s.substr(-i*3,3);
}
outStr + "±";
Dan