private String removeFractionalDigit(String decStr, int minDigits, boolean stripZeroDigitOnly) {
		int decimalPointIx = decStr.indexOf('.');
		if (decimalPointIx < 0) {
			return null;
		}
		int expIx = decStr.toUpperCase().indexOf('E');
		String exp = "";
		if (expIx > 0) {
			exp = decStr.substring(expIx);
			decStr = decStr.substring(0, expIx);
		}
		if (decStr.length() - decimalPointIx - 1 <= minDigits) {
			return null;
		}
		int lastDigitIndex = decStr.length() - 1;
		if (stripZeroDigitOnly && decStr.charAt(lastDigitIndex) != '0') {
			return null;
		}
		// discard last mantissa digit
		return decStr.substring(0, lastDigitIndex) + exp;
	}
Perform appropriate rounding and conversion to BigDecimal prior to generating
a formatted decimal string of the specified BigFloat value.  
See {@link #toString(FloatFormat, boolean)},
{@link FloatFormat#toDecimalString(BigFloat)} and 
{@link FloatFormat#toDecimalString(BigFloat, boolean)}.
@param ff float format
@param compact if true the precision will be reduced to a form which is still equivalent at
the binary encoding level for the specified FloatFormat.
@return decimal string representation
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/pcode/floatformat/BigFloat.java