首页 > 解决方案 > 整个文件的 Java BufferedWriter 精度

问题描述

说我有:

double num = 893.148723
BufferedWriter bw = new BufferedWriter(new FileWriter(new File(filePath)));
bw.write(String.format("%.1f",num));

这会将 893.1 写入文件。但是,有没有办法为整个文件设置精度?我将输出大量数字,并且每次编写数字时都不必编写 String.format() 部分。

标签: javafileoutputprecisionbufferedwriter

解决方案


即使没有这样的内置选项,您也可以创建自己的类扩展BufferedWriter

public class BufferedWriterWithFormat extends BufferedWriter {
    private String format;

    public BufferedWriterWithFormat(Writer w, String format) {
        super(w);
        this.format = format;
    }

    public void write(double d) throws IOException {
        write(String.format(format, d));
    }
} 

推荐阅读