账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    jsp 页面,将金额1000转为10.00
    40
    0

    问题描述

    金额存储的字段是是以分位存储的,展示的时候要将后两位用小数点隔开 1000 > 10.00

    问题出现的环境背景及自己尝试过哪些方法

    1. <fmt:formatNumber> 可以对有小数点的进行操作,如果将整数选一部分转成小数需要写给自定义pattern属性吗?
    2. 使用${fn:substring(str, start, end}分别截取,中间在拼上小数点最后显示;
      2.1 截取的时候因为金额长度不固定,我需要先取到金额的长度,这样取${fn:length(${orderRooms.price})}方法报错了;${}再写一个${}就出问题了,这是什么原因?
      2.2 曲线了一下先set一个对象,取的时候${fn:length(price)}报错了: Problems calling function 'fn:length'
    3. 我可以自己写一个js然后可以行内调用吗,<i>formatXXX(${orderRooms.price})</i>

    相关代码

    <c:set var="price"  scope="page" value="${orderRooms.price}"/>
    <p>${price}</p>
    <c:set var="priceLength" value="${fn:length(price)}" />
    <c:set var="pricePrefix" value="${fn:substring(orderRooms.price, 0, priceLength-2)}" />
    <c:set var="priceSuffix" value="${fn:substring(orderRooms.price, priceLength-2, priceLength)}" />
    <p>${priceLength}--${pricePrefix}--${priceSuffix}</p>
    <p>体验价:¥<i>${orderRooms.price}</i></p>

    你期待的结果是什么?实际看到的错误信息又是什么?

    以上三种方法的问题希望得到解答;
    最终的结果是1000 > 10.00 用的别的方法能解决也可以;

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 半抹灯花 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部