/** * Format a value with a maximum number of decimal places, using the default Locale. * * @param value * @param nDecimalPlaces * @return */ public synchronized static String formatNumber(final double value, final int maxDecimalPlaces) { return formatNumber(Locale.getDefault(Category.FORMAT), value, maxDecimalPlaces); }
public String getResultString() { if (Double.isNaN(pValue)) return "-"; String pValueString; int maxDecimalPlaces; if (pValue > 1e-3) maxDecimalPlaces = 4; else if (pValue > 1e-4) maxDecimalPlaces = 5; else if (pValue > 1e-5) maxDecimalPlaces = 6; else if (pValue > 1e-6) maxDecimalPlaces = 7; else maxDecimalPlaces = 8; // } pValueString = GeneralTools.formatNumber(pValue, maxDecimalPlaces); return String.format("%s (%.2f; %.2f-%.2f)", pValueString, hazardRatio, hazardRatioLowerConfidence, hazardRatioUpperConfidence); }
/** * Convert a double array to string, with a specified number of decimal places; trailing zeros are * not included. * * @param locale * @param array * @param delimiter * @param nDecimalPlaces * @return */ public static String arrayToString(final Locale locale, final double[] array, final String delimiter, final int nDecimalPlaces) { StringBuilder sb = new StringBuilder(); if (array.length == 0) return ""; for (int i = 0; i < array.length; i++) { sb.append(formatNumber(locale, array[i], nDecimalPlaces)); if (i < array.length) sb.append(" "); } return sb.toString(); }