对于一个项目,我需要在打印机上打印一些数字。它们需要打印在彼此下方,以逗号对齐。字体不是也不可能是等宽字体。我正在使用 DecimalFormat("0.000") 将所有数字转换为恰好以 3 位小数结尾的字符串。
在逗号下方对齐数字的正确方法是什么?我正在使用 Java 的 Printable 接口(interface),如此处所述 http://docs.oracle.com/javase/tutorial/2d/printing/index.html .
谢谢
编辑:我不是要打印到控制台,而是要打印到打印机(打印出真正纸张的实际硬件)
最佳答案
使用等宽字体肯定会更好看。
我假设逗号是小数点。这是我会做的。
使用 drawString 生成逗号图像。
将数字分成两部分,小数点前的数字和小数点后的数字。
使用drawString生成小数点前和小数点后的数字图像。
所有数字转为图片后,遍历小数点后的数字,看哪一张的宽度最长。
您现在有了小数点后最长数字的宽度像素数和逗号。
再次浏览这些数字图像,按以下顺序在打印机 Canvas 上绘制图像。
- 小数点后的数字
- 逗号
- 小数点前的数字
关于java - 使用 Java 将逗号对齐的 double 打印到打印机设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14834248/