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

Reply via email to