diff --git a/core/src/main/java/com/yahoo/ycsb/measurements/OneMeasurementHdrHistogram.java b/core/src/main/java/com/yahoo/ycsb/measurements/OneMeasurementHdrHistogram.java
index a88c2b81a97f297f0e8295e7bf7cf36fcd6c6f8c..8dd0e1ecc1a5feebcf411677db629257fc40998f 100644
--- a/core/src/main/java/com/yahoo/ycsb/measurements/OneMeasurementHdrHistogram.java
+++ b/core/src/main/java/com/yahoo/ycsb/measurements/OneMeasurementHdrHistogram.java
@@ -58,7 +58,7 @@ public class OneMeasurementHdrHistogram extends OneMeasurement {
    */
   public static final String PERCENTILES_PROPERTY_DEFAULT = "95,99";
 
-  List<Integer> percentiles;
+  List<Double> percentiles;
 
   public OneMeasurementHdrHistogram(String name, Properties props) {
     super(name);
@@ -114,7 +114,7 @@ public class OneMeasurementHdrHistogram extends OneMeasurement {
     exporter.write(getName(), "MinLatency(us)", totalHistogram.getMinValue());
     exporter.write(getName(), "MaxLatency(us)", totalHistogram.getMaxValue());
 
-    for (Integer percentile: percentiles) {
+    for (Double percentile: percentiles) {
       exporter.write(getName(), ordinal(percentile) + "PercentileLatency(us)", totalHistogram.getValueAtPercentile(percentile));
     }
     
@@ -162,12 +162,12 @@ public class OneMeasurementHdrHistogram extends OneMeasurement {
      * @param percentileString - comma delimited string of Integer values
      * @return An Integer List of percentile values
      */
-    private List<Integer> getPercentileValues(String percentileString) {
-      List<Integer> percentileValues = new ArrayList<Integer>();
+    private List<Double> getPercentileValues(String percentileString) {
+      List<Double> percentileValues = new ArrayList<Double>();
 
       try {
         for (String rawPercentile: percentileString.split(",")) {
-          percentileValues.add(Integer.parseInt(rawPercentile));
+          percentileValues.add(Double.parseDouble(rawPercentile));
         }
       } catch(Exception e) {
         // If the given hdrhistogram.percentiles value is unreadable for whatever reason,
@@ -186,15 +186,23 @@ public class OneMeasurementHdrHistogram extends OneMeasurement {
      * @param i
      * @return ordinal string
      */
-    private String ordinal(int i) {
+    private String ordinal(Double i) {
       String[] suffixes = new String[] { "th", "st", "nd", "rd", "th", "th", "th", "th", "th", "th" };
-      switch (i % 100) {
-        case 11:
-        case 12:
-        case 13:
-          return i + "th";
-        default:
-          return i + suffixes[i % 10];
+      Integer j = i.intValue();
+      if (i%1 == 0)
+      {
+          switch (j % 100) {
+            case 11:
+            case 12:
+            case 13:
+              return j + "th";
+            default:
+              return j + suffixes[j % 10];
+          }
+      }
+      else
+      {
+          return i.toString();
       }
     }
 }