You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2015/09/25 09:36:25 UTC
svn commit: r1705241 -
/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java
Author: tilman
Date: Fri Sep 25 07:36:25 2015
New Revision: 1705241
URL: http://svn.apache.org/viewvc?rev=1705241&view=rev
Log:
PDFBOX-2990: workaround for floats like 0.00000-33917698
Modified:
pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java
Modified: pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java?rev=1705241&r1=1705240&r2=1705241&view=diff
==============================================================================
--- pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java (original)
+++ pdfbox/branches/1.8/pdfbox/src/main/java/org/apache/pdfbox/cos/COSFloat.java Fri Sep 25 07:36:25 2015
@@ -59,7 +59,24 @@ public class COSFloat extends COSNumber
}
catch( NumberFormatException e )
{
- throw new IOException( "Error expected floating point number actual='" +aFloat + "'" );
+ if (aFloat.startsWith("0.00000-"))
+ {
+ // PDFBOX-2990 has 0.00000-33917698
+ // Let's wait what other floats will be coming before doing a more general workaround.
+ try
+ {
+ valueAsString = "-0.00000" + aFloat.substring(8);
+ value = new BigDecimal(valueAsString);
+ }
+ catch (NumberFormatException e2)
+ {
+ throw new IOException("Error expected floating point number actual='" + aFloat + "'", e2);
+ }
+ }
+ else
+ {
+ throw new IOException("Error expected floating point number actual='" + aFloat + "'", e);
+ }
}
}