在GWT中将字符串转换为BigDecimal

在GWT中将字符串转换为BigDecimal,第1张

在GWT中将字符串转换为BigDecimal

最简单的方法是创建一个继承ValueBox的新文本框小部件。如果您采用这种方式,则无需手动转换任何字符串值。ValueBox会处理所有这一切。

要输入BigDecimal值,您可以执行以下 *** 作:

BigDecimal value = myTextBox.getValue();

您的 BigDecimalBox.java

public class BigDecimalBox extends ValueBox<BigDecimal> {  public BigDecimalBox() {    super(document.get().createTextInputElement(), BigDecimalRenderer.instance(),        BigDecimalParser.instance());  }}

然后你的 BigDecimalRenderer.java

public class BigDecimalRenderer extends AbstractRenderer<BigDecimal> {  private static BigDecimalRenderer INSTANCE;  public static Renderer<BigDecimal> instance() {    if (INSTANCE == null) {      INSTANCE = new BigDecimalRenderer();    }    return INSTANCE;  }  protected BigDecimalRenderer() {  }  public String render(BigDecimal object) {    if (null == object) {      return "";    }    return NumberFormat.getDecimalFormat().format(object);  }}

还有你的 BigDecimalParser.java

package com.google.gwt.text.client;import com.google.gwt.i18n.client.NumberFormat;import com.google.gwt.text.shared.Parser;import java.text.ParseException;public class BigDecimalParser implements Parser<BigDecimal> {  private static BigDecimalParser INSTANCE;  public static Parser<BigDecimal> instance() {    if (INSTANCE == null) {      INSTANCE = new BigDecimalParser();    }    return INSTANCE;  }  protected BigDecimalParser() {  }  public BigDecimal parse(CharSequence object) throws ParseException {    if ("".equals(object.toString())) {      return null;    }    try {      return new BigDecimal(object.toString());    } catch (NumberFormatException e) {      throw new ParseException(e.getMessage(), 0);    }  }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5565698.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存