docs: public int setString(String string, boolean bDisplayOption, int moveMode)               // init this field override for other value
      {
          NumberField field = null;
          if (this.getField() != null) if (this.getField() instanceof NumberField)
              field = (NumberField)this.getField();
          if (field == null)
              return super.setString(string, bDisplayOption, moveMode); // Convert to internal rep and return
          if ((string == null) || (string.length() == 0))
          {   // Don't accept null as input
              if (bDisplayOption)
                  field.displayField();
              return DBConstants.NORMAL_RETURN;   // Must type a zero, if you want a zero
          }
          if (m_bDebit)
              return super.setString(string, bDisplayOption, moveMode); // Convert to internal rep and return
          else
          {   // Credit
              try   {
                  Object tempBinary = field.stringToBinary(string);
                  double dValue = ((Double)tempBinary).doubleValue();
                  tempBinary = new Double(-dValue); // Positive representation
                  return field.setData(tempBinary, bDisplayOption, moveMode);
              } catch (Exception ex)  {
                  String strError = ex.getMessage();
                  if (strError == null)
                      strError = ex.getClass().getName();
                  Task task = null;
                  if (this.getField() != null)
                      if (((BaseField)this.getField()).getRecord() != null)
                          if (((BaseField)this.getField()).getRecord().getRecordOwner() != null)
                              task = ((BaseField)this.getField()).getRecord().getRecordOwner().getTask();
                  //if (task == null)
                  //    task = BaseApplet.getSharedInstance();
                  return task.setLastError(strError);
              }
          }
      }