* @throws Exception
*/
public Node external_precision(Node startAt) throws Exception {
startAt.isGoodArgsCnt(2);
int c=(int)startAt.getSubNode(1, Node.TYPE_NUMBER).getNumber();
if(c<0) throw new InterpreterException(StdErrors.extend(StdErrors.Out_of_range, "precision "+c+" must be >= 0" ));
BigDecimal r=number.get();
int digits=r.precision()-r.scale();
MathContext mc=context.get();
MathContext nmc = new MathContext(digits<0 ? c+1 : c + digits, mc.getRoundingMode()); // more precision...
return Node.createExternal(new External_Decimal(number.get().round(nmc),nmc));