我正在使用货币,获取管道分隔文件,对其执行数学转换并将其另存为CSV文件。输出货币必须与17位和2位小数的格式相匹配。因此我使用的是DecimalFormat:DecimalFormat df = new DecimalFormat("00000000000000000.######");
如果我有非零货币,我希望通过以下StringBuilder
附加货币:
sb.append(FormatString(df.format(event.value), true));
其中FormatString
是:
private String FormatString( String value, boolean addDelim)
{
value = value == null ? "" : value.replace(delimiter, "");
if (addDelim)
value += delimiter;
return value;
}
输出很好; -256.07
的值为-00000000000000256.07
等。但是,如果值为0.0
,则表示为00000000000000000
且没有小数点。
为什么会这样?
答案 0 :(得分:0)
#
会抑制任何非有效数字。 "00000000000000000.0#####"
模式最终会确保.0
,即使小数部分没有任何非零数字。