PHPWRITE(&buf[1], i - 1);
break;
- case IS_DOUBLE:
- i = sprintf(buf, "%*cfloat(%g)\n", level, ' ', (*struc)->value.dval);
- PHPWRITE(&buf[1], i - 1);
+ case IS_DOUBLE: {
+ ELS_FETCH();
+ i = sprintf(buf, "%*cfloat(%.*G)\n", level, ' ', (int) EG(precision), (*struc)->value.dval);
+ PHPWRITE(&buf[1], i - 1);
+ }
break;
case IS_STRING:
STR_CAT(buf, s, slen);
return;
- case IS_DOUBLE:
- slen = sprintf(s, "d:%g;", (*struc)->value.dval);
- STR_CAT(buf, s, slen);
+ case IS_DOUBLE: {
+ ELS_FETCH();
+ slen = sprintf(s, "d:%.*G;",(int) EG(precision), (*struc)->value.dval);
+ STR_CAT(buf, s, slen);
+ }
return;
case IS_STRING:{