如何在grails服务类中使用g.formatNumber

 用户d4k2wd8en1 发布于 2023-02-06 09:07

我想在服务中使用g.formatNumber,我尝试了以下方法,我上网了.这不起作用,它给我错误"Cannot invoke method formatNumber() on null object",代码如下

    import org.springframework.beans.factory.InitializingBean

    class MyService implements InitializingBean {
        boolean transactional = false
        def gspTagLibraryLookup  // being automatically injected by spring
        def g

        public void afterPropertiesSet() {
            g = gspTagLibraryLookup.lookupNamespaceDispatcher("g")
            assert g
        }

      def getFormattedNumber(){
       def number = g.formatNumber(number: 5000,234 , type: "number" , maxFractionDigits: 2)
       return number
     }
}

这该怎么做.

1 个回答
  • 我想在服务中使用g.formatNumber

    您需要在服务中使用taglib,而不是跳过篮球,java.text.NumberFormat直接使用它会更简单

    NumberFormat format = NumberFormat.getNumberInstance()
    format.maximumFractionDigits = 2
    def number = format.format(5000.234)
    

    如果从Web请求处理线程调用服务方法,那么您可能希望使用LocaleContextHolder来获取当前Web请求的正确语言环境,而不是仅使用服务器的默认设置.

    2023-02-06 09:11 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有