Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.dynjs.runtime.builtins.types.number.prototype;
 
 
public class ToPrecision extends AbstractNativeFunction {
    public ToPrecision(GlobalObject globalObject) {
        super(globalObject"precision");
    }
    @Override
    public Object call(ExecutionContext contextObject selfObject... args) {
        // 15.7.4.7 Number.prototype.toPrecision (precision)
        if (args[0] == .) {
            return Types.toString(contextself);
        }
        Number number  = Types.toNumber(contextself);
        Long precision = Types.toInteger(contextargs[0]);
        if (Double.isNaN(number.doubleValue()) || Double.isInfinite(number.doubleValue())) {
            return String.valueOf(number);
        }
        if (precision < 1 || precision > 21) {
            throw new ThrowException(contextcontext.createRangeError("Number.prototype.toPrecision() [precision] must be between 0 and 20"));
        }
        return new BigDecimal(number.doubleValue(), new MathContext(precision.intValue())).toString();
    }
New to GrepCode? Check out our FAQ X