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
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs