Update of /var/cvs/src/org/mmbase/util In directory james.mmbase.org:/tmp/cvs-serv17761
Modified Files: Casting.java Log Message: MMB-1736 See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/util See also: http://www.mmbase.org/jira/browse/MMB-1736 Index: Casting.java =================================================================== RCS file: /var/cvs/src/org/mmbase/util/Casting.java,v retrieving revision 1.119 retrieving revision 1.120 diff -u -b -r1.119 -r1.120 --- Casting.java 22 Oct 2008 12:27:20 -0000 1.119 +++ Casting.java 1 Dec 2008 17:26:21 -0000 1.120 @@ -16,13 +16,14 @@ * * @author Michiel Meeuwissen * @since MMBase-1.6 - * @version $Id: Casting.java,v 1.119 2008/10/22 12:27:20 michiel Exp $ + * @version $Id: Casting.java,v 1.120 2008/12/01 17:26:21 michiel Exp $ */ import java.util.*; import java.text.*; import java.io.*; import javax.xml.parsers.*; +import java.math.BigDecimal; import org.mmbase.bridge.*; import org.mmbase.bridge.Node; import org.mmbase.bridge.util.NodeWrapper; @@ -207,6 +208,8 @@ return (C) toMap(value); } else if (type.equals(Collection.class)) { return (C) toCollection(value); + } else if (type.equals(BigDecimal.class)) { + return (C) toDecimal(value); } else if (type.equals(java.util.regex.Pattern.class)) { if (java.util.regex.Pattern.class.isInstance(value)) { return (C) value; @@ -928,6 +931,19 @@ } + /** + * @since MMBase-1.9.1 + */ + static public BigDecimal toDecimal(Object i) { + if (i instanceof BigDecimal) { + return (BigDecimal) i; + } else if (i instanceof CharSequence) { + return new BigDecimal("" + i).stripTrailingZeros(); + } else { + return new BigDecimal(toDouble(i)); + } + } + /** * Convert an object to a <code>Date</code>. _______________________________________________ Cvs mailing list Cvs@lists.mmbase.org http://lists.mmbase.org/mailman/listinfo/cvs