code: function(object, property, params) {
  
      NumberController.superclass.call(this, object, property);
  
      params = params || {};
  
      this.__min = params.min;
      this.__max = params.max;
      this.__step = params.step;
  
      if (common.isUndefined(this.__step)) {
  
        if (this.initialValue == 0) {
          this.__impliedStep = 1; // What are we, psychics?
        } else {
          // Hey Doug, check this out.
          this.__impliedStep = Math.pow(10, Math.floor(Math.log(this.initialValue)/Math.LN10))/10;
        }
  
      } else {
  
      	this.__impliedStep = this.__step;
  
      }
  
      this.__precision = numDecimals(this.__impliedStep);
  
  
    }
docs: @class Represents a given property of an object that is a number.
  
  @extends dat.controllers.Controller
  
  @param {Object} object The object to be manipulated
  @param {string} property The name of the property to be manipulated
  @param {Object} [params] Optional parameters
  @param {Number} [params.min] Minimum allowed value
  @param {Number} [params.max] Maximum allowed value
  @param {Number} [params.step] Increment by which to change value
  
  @member dat.controllers