首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将浮点arg传递给自定义EL函数(jsp)?

如何将浮点arg传递给自定义EL函数(jsp)?
EN

Stack Overflow用户
提问于 2013-02-21 12:38:59
回答 1查看 185关注 0票数 0

错误:类型MyExchangeClass中的方法exchangeConversion(字符串、字符串、浮点数)不适用于参数(String、String、double)

jsp文件中的代码,也有15.4和15.4f的错误,但是如果更改函数和用于double的TLD都能正常工作。为什么把15.4华氏和15.4f当作双打?

代码语言:javascript
复制
...
From GBP to USD: ${ elfuncs:exchange("GBP", "USD", 15.4f) }
Otherwise: ${ elfuncs:exchange("GBP", "YEN", 15.4) }

TLD码

代码语言:javascript
复制
  <function>
    <name>exchange</name>
    <function-class>mypackage.MyExchangeClass</function-class>
    <function-signature>float exchangeConversion(java.lang.String, java.lang.String, float)</function-signature>
  </function>

java类公共类MyExchangeClass {的代码

代码语言:javascript
复制
    public static float exchangeConversion(String from, String to, float amount) { 
        float calculatedAmount = 0.0f;

        /* Example implementation code: */
        if(from.equals("GBP") && to.equals("USD")) {
            calculatedAmount = amount*1.5f;
        }
        return calculatedAmount; 
    }
}
EN

回答 1

Stack Overflow用户

发布于 2013-02-21 13:31:34

因为在EL规范中这是这样指定的。浮点文字总是被解释为double

1.3文字 There表达式中有布尔值、整数、浮点、字符串和null的文字。 ..。

  • 浮点-如第1.19节中的FloatingPointLiteral构造所定义的。

1.19所收句法 ..。

  • FloatingPointLiteral的值从Double.MIN_VALUEDouble.MAX_VALUE不等。

只需将函数中的float更改为double即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15002476

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档