2011-08-26 17 views
0

可能重复:
How to go about formatting 1200 to 1.2k in java如何使用java.text.NumberFormat来添加单位?

当显示号码,我想自动调整装置,以限制数量的大小。例如,如果使用米数和22000等数字,那么我想显示22公里,但如果数字是22,那么我只显示22米。 看起来好像java.text.NumberFormat可以扩展到添加单位。如果是这样,你可以澄清如何使用api(我已经RTFM)。如果不是,你会建议另一个java api吗?

更多内容。我内JFreeChart的工作,并从它API

+0

另请参见['createStandardTickUnits()'](http://www.jfree.org/jfreechart/api/javadoc/src-html/org/jfree/chart/axis/NumberAxis.html#line.681)ff 。 – trashgod

+0

@trashgod你可以详细说明刻度单位范例。我了解如何使用它们来指定刻度的频率,但不知道如何控制标签。谢谢。 – Adam

+0

谢谢Suraj! * dup中的答案如何去格式化*我想指出未来的人jzd's:http://stackoverflow.com/questions/4753251/how-to-go-about-formatting-1200-to -1-2k-in-java/4754692#4754692 – Adam

回答

1

你可以期望的文字添加到您的自定义TickUnits使用的DecimalFormat情况下导致的NumberFormat。 createStandardTickUnits()方法是一个合理的模型。另请参阅此answer

+0

我没有看到使用@ jzd方法的简单方法。 – trashgod

+0

@mort援引了一个相关的例子[这里](http://stackoverflow.com/questions/3458824/jfreechart-polarplot-mathematical-orientation/3466681#3466681)。 – trashgod