簡體   English   中英

使用DecimalFormat刪除最后三個零

[英]Removing last three zeros with DecimalFormat

我正在使用jfreechart以毫秒為單位顯示軸值,但是我想以秒為單位顯示軸標簽,所以我將使用domainAxis.setNumberFormatOverride(new DecimalFormat("???"));

那么刪除最后三個零的語法是什么? 例如:1.000、2.000、3.000至1、2、3。

由於這篇文章,我成功地將1000子類划分為NumberFormat

所以最終的代碼很簡單:

private static final NumberFormat THOUSANDS = new NumberFormat() {

    @Override
    public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos) {

        new DecimalFormat().format(number / 1000D, toAppendTo, pos);

        return toAppendTo;
    }

    @Override
    public StringBuffer format(long number, StringBuffer toAppendTo, FieldPosition pos) {
        return format((double) number, toAppendTo, pos);
    }

    @Override
    public Number parse(String source, ParsePosition parsePosition) {
        return null;
    }
};

並致電:

domainAxis.setNumberFormatOverride(THOUSANDS);

嘗試這個

String label= "1.000"
String slabel= new DecimalFormat("0.####").format(Double.parseDouble(label));
System.out.println(slabel);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM