2

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

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

谢谢

4

1 回答 1

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);

但是如果你不能改变你的用户界面,你可以改变全局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);
于 2013-04-12T20:54:31.890 回答