java html velocity 中怎么截取小数位?

发布于 2022-09-06 05:01:21 字数 1053 浏览 29 评论 0

<div class="s1 swiper-container swiper-container3">
        #set($datas = $dataTool.list("t1,t2", "a1,a2",1))
        #foreach($data in ${datas.datas})

        #set($dataValue = $data.value)
        #set($dataPreValue = $data.preValue)
        #set($Double = 0.00)
        #set($diff = $Double.valueOf($dataValue) - $Double.valueOf($dataPreValue))
    <div class="swiper-wrapper">
        <div class="inner swiper-slide">
            <a href="">
                <h3>${data.name}</h3>
                <div class="c1 value">${data.value}</div>
                <div class="c2">
                        <span id="aaa" class="l fn-diff">$diff</span>
                        <span class="r">${data.raise1}</span>
                </div>
            </a>
        </div>
    </div>
    #end
</div>

上面的例子运行后大概是这样;
diff = value - prevalue
diff = 1 - 0
结果弄出来这样 0.99999999999999999
明显不对,要么怎样让结果变成正确?要么怎样小数点截取到2位;

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

把回忆走一遍 2022-09-13 05:01:21

diff 这种逻辑尽量放在应用中去维护,而不是在vm模板中维护,在data 中增加一个diff属性,重写getter方法:

getDiff(){
return String.format("%.2f", Double.valueOf(this.getValue()) - Double.valueOf(this.getPreValue()));
} 

页面上直接展示即可:

 <span id="aaa" class="l fn-diff">${data.diff}</span>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文