private String eFormatString(double x,char eChar) {
      boolean noDigits=false;
      char[] ca4,ca5;
      if (Double.isInfinite(x)) {
        if (x==Double.POSITIVE_INFINITY) {
          if (leadingSign) ca4 = "+Inf".toCharArray();
          else if (leadingSpace)
            ca4 = " Inf".toCharArray();
          else ca4 = "Inf".toCharArray();
        }
        else
          ca4 = "-Inf".toCharArray();
        noDigits = true;
      }
      else if (Double.isNaN(x)) {
        if (leadingSign) ca4 = "+NaN".toCharArray();
        else if (leadingSpace)
          ca4 = " NaN".toCharArray();
        else ca4 = "NaN".toCharArray();
        noDigits = true;
      }
      else
        ca4 = eFormatDigits(x,eChar);
      ca5 = applyFloatPadding(ca4,false);
      return new String(ca5);
    }