protected Float coerceToFloat(Object value) {
		if (value == null || "".equals(value)) {
			return Float.valueOf(0);
		}
		if (value instanceof Float) {
			return (Float)value;
		}
		if (value instanceof Number) {
			return Float.valueOf(((Number)value).floatValue());
		}
		if (value instanceof String) {
			try {
				return Float.valueOf((String)value);
			} catch (NumberFormatException e) {
				throw new ELException(LocalMessages.get("error.coerce.value", value, value.getClass(), Float.class));
			}
		}
		if (value instanceof Character) {
			return Float.valueOf((short)((Character)value).charValue());
		}
		throw new ELException(LocalMessages.get("error.coerce.type", value, value.getClass(), Float.class));
	}