Java 避免gwt中的双精度指数
如何在gwt中从客户端的double中删除指数Java 避免gwt中的双精度指数,java,javascript,gwt,Java,Javascript,Gwt,如何在gwt中从客户端的double中删除指数 public double evaluate(final double leftOperand, final double rightOperand) { Double rtnValue = new Double(leftOperand * rightOperand); //Require to write code which remove exponent before return re
public double evaluate(final double leftOperand, final double rightOperand) {
Double rtnValue = new Double(leftOperand * rightOperand);
//Require to write code which remove exponent before return
return rtnValue.doubleValue();
}
服务器端可能使用NumberFormat
NumberFormat formatter = new DecimalFormat("#0.00");
System.out.println(number);
System.out.println(formatter.format(number));
但客户端it会抛出异常,如:
16:08:04.190[错误][vflow]第359行:没有可用于java.text.NumberFormat类型的源代码;您是否忘记继承所需的模块
因为gwt不包括lib java.text
我还尝试了String.format(“%.2f”,doubleResult)强>
GWT不支持String.format(),还是我做错了什么
这里
那么,我怎样才能避免双重指数呢?有什么办法吗?尝试将javascript与JSNI结合使用:
native String format(double num) /*-{
// ...implemented with JavaScript
var v = num;
return "" + v.valueOf();
}-*/;
我现在没有带GWT sdk来尝试它,但它应该是这样的。GWT中有一个自定义的数字格式:
由于兼容性原因,GWT不支持NumberFormat和DateFormat的Java API。此页面对此进行了描述:当我调用此方法时,它抛出错误:java.lang.IllegalArgumentException:从JSNI方法'@com.client.test.ExponentTest::format(D)':int类型的JS值返回了java对象以外的内容,应为java.lang.Object=\n尝试将“format”的返回值更改为int或Object,然后查看发生了什么,非常感谢u。完成了。我用return“+v.valueOf();”返回;。