gpt4 book ai didi

java - 在 GWT 中将字符串转换为 BigDecimal

转载 作者:行者123 更新时间:2023-12-02 09:26:56 26 4
gpt4 key购买 nike

在我的 GWT Web 应用程序中,我有一个包含价格的文本框。如何将该 String 转换为 BigDecimal?

最佳答案

最简单的方法是创建继承 ValueBox 的新文本框小部件。如果您这样做,则无需手动转换任何字符串值。 ValueBox 负责处理这一切。

要获取输入的 BigDecimal 值,您可以:

BigDecimal 值 = 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);
}
}
}

关于java - 在 GWT 中将字符串转换为 BigDecimal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10413645/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com