/**
* return number if it's already one. if not guess double or
* long based on the presence of "." in string version and parse.
*/
public static ValueNumber asNumberOrParse(ValueObject v) {
ValueNumber n = asNumber(v);
if (n == null && v != null) {
String sv = v.toString();
if (sv.indexOf(".") > 0) {
return ValueFactory.create(Double.parseDouble(v.toString()));
} else {