Round := proc(x,n::integer:=1)

parse(sprintf(cat("%.",n,"f"),x));

end proc:

roundcoeffs1:=proc(p,x,n:=1) local t,c;

c:=map(Round, [coeffs(p,x,t)],n);

add(i, i = zip(`*`, c, [t]));

end:

ggg:=.9940413618*y^3-1.785839107*c*A*y^3-2.357517322*c*A*y^2+.375393240*c*y*B-.3575173222*c*A*y-.2082022533*c*B-0.1787591445e-1*y^2-0.1787591445e-1*y-0.5958638151e-2+.2141608926*c*A+.7917977467*c*B*y^3+2.375393240*c*B*y^2;

roundcoeffs1(ggg, [y^3, c*A*y^3, c*A*y^2, c*y*B, c*A*y, c*B, y^2, y, c*A, c*B*y^3, c*B*y^2], 4);

Error, (in sprintf) number expected for floating point format