X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fjalview%2Futil%2FFormat.java;h=712198547eb03dc64ec003455aa957410866310c;hb=1e5b6995c96364c79329e618f7933caf177b353e;hp=d4e3729030ab1689605e50d9f6e23d2106aab619;hpb=ab43013b7e357b84b4abade0dba949668dfb2a0e;p=jalview.git diff --git a/src/jalview/util/Format.java b/src/jalview/util/Format.java index d4e3729..7121985 100755 --- a/src/jalview/util/Format.java +++ b/src/jalview/util/Format.java @@ -1,6 +1,6 @@ /* - * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2b1) - * Copyright (C) 2014 The Jalview Authors + * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$) + * Copyright (C) $$Year-Rel$$ The Jalview Authors * * This file is part of Jalview. * @@ -54,6 +54,8 @@ public class Format private char fmt; // one of cdeEfgGiosxXos + private final String formatString; + /** * Creates a new Format object. * @@ -62,6 +64,7 @@ public class Format */ public Format(String s) { + formatString = s; width = 0; precision = -1; pre = ""; @@ -622,7 +625,7 @@ public class Format /** * Formats a character into a string (like sprintf in C) * - * @param x + * @param debounceTrap * the value to format * @return the formatted string */ @@ -641,7 +644,7 @@ public class Format /** * Formats a string into a larger string (like sprintf in C) * - * @param x + * @param debounceTrap * the value to format * @return the formatted string */ @@ -938,4 +941,35 @@ public class Format return f + p.substring(p.length() - 3, p.length()); } + + @Override + public String toString() + { + return formatString; + } + + /** + * Bespoke method to format percentage float value to the specified number of + * decimal places. Avoids use of general-purpose format parsers as a + * processing hotspot. + * + * @param sb + * @param value + * @param dp + */ + public static void appendPercentage(StringBuilder sb, float value, int dp) + { + sb.append((int) value); + if (dp > 0) + { + sb.append("."); + while (dp > 0) + { + value = value - (int) value; + value *= 10; + sb.append((int) value); + dp--; + } + } + } }