You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

PDFNumber.java 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. /*
  2. * $Id$
  3. * Copyright (C) 2001-2002 The Apache Software Foundation. All rights reserved.
  4. * For details on use and redistribution please refer to the
  5. * LICENSE file included with these sources.
  6. */
  7. package org.apache.fop.pdf;
  8. public class PDFNumber {
  9. private PDFNumber() { }
  10. public static String doubleOut(Double doubleDown) {
  11. StringBuffer p = new StringBuffer();
  12. if (doubleDown.doubleValue() < 0) {
  13. doubleDown = new Double(-doubleDown.doubleValue());
  14. p.append("-");
  15. }
  16. double trouble = doubleDown.doubleValue() % 1;
  17. if (trouble > 0.950) {
  18. p.append(doubleDown.intValue() + 1);
  19. } else if (trouble < 0.050) {
  20. p.append(doubleDown.intValue());
  21. } else {
  22. String doubleString = new String(doubleDown + "");
  23. int decimal = doubleString.indexOf(".");
  24. if (decimal != -1) {
  25. p.append(doubleString.substring(0, decimal));
  26. if ((doubleString.length() - decimal) > 6) {
  27. p.append(doubleString.substring(decimal, decimal + 6));
  28. } else {
  29. p.append(doubleString.substring(decimal));
  30. }
  31. } else {
  32. p.append(doubleString);
  33. }
  34. }
  35. return (p.toString());
  36. }
  37. public static String doubleOut(double doubleDown) {
  38. StringBuffer p = new StringBuffer();
  39. if (doubleDown < 0) {
  40. doubleDown = -doubleDown;
  41. p.append("-");
  42. }
  43. double trouble = doubleDown % 1;
  44. if (trouble > 0.950) {
  45. p.append((int)doubleDown + 1);
  46. } else if (trouble < 0.050) {
  47. p.append((int)doubleDown);
  48. } else {
  49. String doubleString = new String(doubleDown + "");
  50. int decimal = doubleString.indexOf(".");
  51. if (decimal != -1) {
  52. p.append(doubleString.substring(0, decimal));
  53. if ((doubleString.length() - decimal) > 6) {
  54. p.append(doubleString.substring(decimal, decimal + 6));
  55. } else {
  56. p.append(doubleString.substring(decimal));
  57. }
  58. } else {
  59. p.append(doubleString);
  60. }
  61. }
  62. return (p.toString());
  63. }
  64. public static String doubleOut(double doubleDown, int dec) {
  65. StringBuffer p = new StringBuffer();
  66. if (doubleDown < 0) {
  67. doubleDown = -doubleDown;
  68. p.append("-");
  69. }
  70. double trouble = doubleDown % 1;
  71. if (trouble > (1.0 - (5.0 / (Math.pow(10.0, dec))))) {
  72. p.append((int)doubleDown + 1);
  73. } else if (trouble < (5.0 / (Math.pow(10.0, dec)))) {
  74. p.append((int)doubleDown);
  75. } else {
  76. String doubleString = new String(doubleDown + "");
  77. int decimal = doubleString.indexOf(".");
  78. if (decimal != -1) {
  79. p.append(doubleString.substring(0, decimal));
  80. if ((doubleString.length() - decimal) > dec) {
  81. p.append(doubleString.substring(decimal, decimal + dec));
  82. } else {
  83. p.append(doubleString.substring(decimal));
  84. }
  85. } else {
  86. p.append(doubleString);
  87. }
  88. }
  89. return (p.toString());
  90. }
  91. }