Switched doubles to longs for performance reasons...

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@2805 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/i18n/client/NumberFormat.java b/user/src/com/google/gwt/i18n/client/NumberFormat.java
index 59e6690..eb6ffae 100644
--- a/user/src/com/google/gwt/i18n/client/NumberFormat.java
+++ b/user/src/com/google/gwt/i18n/client/NumberFormat.java
@@ -1040,8 +1040,8 @@
     // Round the number.
     double power = Math.pow(10, maximumFractionDigits);
     number = Math.round(number * power);
-    long intValue = (long) Math.floor(number / power);
-    long fracValue = (long) Math.floor(number - intValue * power);
+    double intValue = (double) Math.floor(number / power);
+    double fracValue = (double) Math.floor(number - intValue * power);
 
     boolean fractionPresent = (minimumFractionDigits > 0) || (fracValue > 0);
 
@@ -1080,7 +1080,7 @@
     }
 
     // To make sure it lead zero will be kept.
-    String fracPart = String.valueOf(fracValue + (long) power);
+    String fracPart = String.valueOf(fracValue + power);
     int fracLen = fracPart.length();
     while (fracPart.charAt(fracLen - 1) == '0' && fracLen > minimumFractionDigits + 1) {
       fracLen--;