public static
	double toDouble(Object object, double dDefault)
	{
		if(object == null) return dDefault;
		if(object instanceof Number) {
			return ((Number) object).doubleValue();
		}
		if(object instanceof Collection) {
			return toDouble(getFirst(object), dDefault);
		}		
		if(object.getClass().isArray()) {
			return toDouble(getFirst(object), dDefault);
		}
		if(object instanceof java.lang.Boolean) {
			return ((java.lang.Boolean) object).booleanValue() ? 1.0d : 0.0d;
		}
		if(object instanceof Map) {
			return dDefault;
		}
		String sValue = object.toString();
		if(sValue.length() == 0) return dDefault;
		try{ return Double.parseDouble(sValue.replace(',', '.')); } catch(Throwable th) {}
		return dDefault;
	}