public static double parseDoubleLoose(String number) throws NumberFormatException {
		// purpose is to be loose with doubles
		try {
			return Double.parseDouble(number);
		} catch (NumberFormatException nfe1) {
			if (isNumeric(number)) {
				ArrayList<String> tmp = Functions.explode(".",number);
				String test = tmp.get(0);
				if (test.equals("")) test = "0";
				if (tmp.size() > 1) test = test + "." + tmp.get(1);
				try {
					return Double.parseDouble(test);
				} catch (NumberFormatException nfe2) {
					throw nfe2;
				}
			}
		}
		throw new NumberFormatException();
	}