GWT中的LongBox - 删除千位分隔符格式

时间:2013-04-12 18:44:10

标签: gwt

我想在GWT LongBox中格式化一个数字例如:我有一个数字:2,134,我不想在这里显示千位分隔符(,)并希望显示为2134.

我们如何在GWT中实现这一点?

由于

1 个答案:

答案 0 :(得分:4)

最好的选择是实现自己的LongBox小部件:

public class MyLongBox extends ValueBox<Long> {
  public MyLongBox() {
    super(Document.get().createTextInputElement(), 
          new AbstractRenderer<Long>() {
            public String render(Long l) {
              return l == null ? "" : l.toString();
            }
          },
          LongParser.instance());
  }
}

MyLongBox lb = new MyLongBox();
lb.setValue(2134l);
RootPanel.get().add(lb);

但是如果你不能改变你的ui,你可以改变全局decimalFormat变量。

private static native void changeCachedDecimalFormat(NumberFormat f) /*-{
  @com.google.gwt.i18n.client.NumberFormat::cachedDecimalFormat = f;
}-*/;

changeCachedDecimalFormat(NumberFormat.getFormat("###0"));

LongBox lb = new LongBox();
lb.setValue(2134l);
RootPanel.get().add(lb);