KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > exoplatform > services > workflow > format > DoubleFormat


1 package org.exoplatform.services.workflow.format;
2
3 import java.text.DecimalFormat JavaDoc;
4 import java.text.FieldPosition JavaDoc;
5 import java.text.Format JavaDoc;
6 import java.text.ParseException JavaDoc;
7 import java.text.ParsePosition JavaDoc;
8
9
10 public class DoubleFormat extends Format JavaDoc {
11   
12   DecimalFormat JavaDoc decimalFormat = new DecimalFormat JavaDoc();
13   
14   public DoubleFormat() {
15     decimalFormat = new DecimalFormat JavaDoc("0.####################################");
16   }
17
18   public Object JavaDoc parseObject(String JavaDoc source, ParsePosition JavaDoc pos) {
19     Double JavaDoc result = null;
20     
21     if ( source != null ) {
22       try {
23         result = new Double JavaDoc(decimalFormat.parse(source).doubleValue());
24         pos.setErrorIndex(-1);
25         pos.setIndex(source.length());
26       }
27       catch(ParseException JavaDoc e) {
28         pos.setErrorIndex(e.getErrorOffset());
29       }
30     }
31
32     return result;
33   }
34
35   public StringBuffer JavaDoc format(Object JavaDoc obj, StringBuffer JavaDoc toAppendTo, FieldPosition JavaDoc pos) {
36     if ( obj != null ) {
37       toAppendTo.append(decimalFormat.format(obj));
38     }
39     return toAppendTo;
40   }
41
42 }
43
Popular Tags