鍍金池/ 問(wèn)答/Java  網(wǎng)絡(luò)安全/ java html velocity 中怎么截取小數(shù)位?

java html velocity 中怎么截取小數(shù)位?

<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>

上面的例子運(yùn)行后大概是這樣;
diff = value - prevalue
diff = 1 - 0
結(jié)果弄出來(lái)這樣 0.99999999999999999
明顯不對(duì),要么怎樣讓結(jié)果變成正確?要么怎樣小數(shù)點(diǎn)截取到2位;

回答
編輯回答
吢涼

diff 這種邏輯盡量放在應(yīng)用中去維護(hù),而不是在vm模板中維護(hù),在data 中增加一個(gè)diff屬性,重寫(xiě)getter方法:

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

頁(yè)面上直接展示即可:

 <span id="aaa" class="l fn-diff">${data.diff}</span>
2017年2月23日 01:18