package com.drawbridge.jsengine.jsobjects; public class JSNumber extends JSObject { public final Double mValue; public JSNumber(double value){ super(); mValue = value; } public JSNumber(int value){ super(); mValue = value * 1.0; //This might cause errors } public int intValue(){ return (int) java.lang.Math.round(mValue); } @Override public String toString(){ return "" + mValue; } @Override public JSType getProperty(String name){ return properties.get(name); } @Override public void addProperty(String name, JSType value){ // Can't add properties to a number } @Override public boolean equals(Object obj){ if(obj instanceof JSNumber){ if(((JSNumber) obj).mValue.isNaN() && this.mValue.isNaN()){ return true; } else if(((JSNumber) obj).mValue == Double.POSITIVE_INFINITY && this.mValue == Double.POSITIVE_INFINITY){ return true; } else if(((JSNumber) obj).mValue == Double.NEGATIVE_INFINITY && this.mValue == Double.NEGATIVE_INFINITY){ return true; } if(((JSNumber) obj).mValue.equals(this.mValue)){ return true; } } return false; } }