GWT 中的 BigDecimal 序列化
Posted
技术标签:
【中文标题】GWT 中的 BigDecimal 序列化【英文标题】:BigDecimal serialization in GWT 【发布时间】:2009-10-29 18:30:59 【问题描述】:在 GWT 中序列化 BigDecimal 的首选方法是什么?
是否有任何巧妙的解决方法,或者您只是使用 Double 或 String?
在所有 GWT 的痛苦中,这是迄今为止最大的;我讨厌创建两个模型,一个用于服务器,一个用于 GWT,并将数据从一个转换到另一个。另一方面,虽然我不太关心使用 String 而不是 javax.xml.datatype.Duration,但由于计算的原因,我必须在服务器上使用 BigDecimal,这意味着两个模型和转换,或者每次计算都会有大量微小的转换为 BigDecimal。
【问题讨论】:
现在没有这个问题。 GWT 现在支持 BigDecimal。 【参考方案1】:从 GWT 2.1 开始支持 java.math.BigDecimal。release-notes
【讨论】:
【参考方案2】:这是我构建的 GWT java.math 包实现:
http://code.google.com/p/gwt-java-math/
它基于 Apache Harmony 的实现,但已修改为运行 在 Java Script 中使用 doubles 而不是 longs 可以有效地实现。
它包括一个几乎完整的 BigInteger、BigDecimal、MathContext、 RoundingMode 和 Random。
【讨论】:
此项目已合并到 GWT 2.1【参考方案3】:为了回答我自己的问题,我刚刚找到了gwt-math project,它增加了对 BigDecimal 的支持并解决了我的问题...
另外,here 是 GWT 中支持 BigDecimal 的官方请求。
【讨论】:
以上是关于GWT 中的 BigDecimal 序列化的主要内容,如果未能解决你的问题,请参考以下文章