我在數據庫中的以下值「4.6144444444」作爲BigDecimal
這符合'04切毫秒:在時間圖案51' :36。從BigDecimal值
4.6144444444 * 3600 0000 = 16611999.99984/1000 =16611.99999984秒=276.866666664分鐘。
此值0.866666664 * 60 =51.99999984秒也總是'04:36:51.99999984' 。有沒有辦法將「0.99999984」的時間值從「4.6144444444」中刪除?
自從我加入了在瑤池報告這些值來計算的總和。
0.1197222222 + 4.6144444444 + 0.7480555555 + 0.9475000000 = 6.4297222221 ==>六時25分46秒999 999 56
0時07分10秒+ 4點36分51秒+零點44分52秒+ 0時56: 51 = 6點25分44秒
也有在結果2秒差。有沒有辦法在Java或Jasper中進行管理?
代碼
def duration = rowTemp[7];
def durationMiliseconds = duration * 3600000;
def durationSeconds = durationMiliseconds/1000;
def durationMinutes = (durationSeconds/60).toString();
String[] durationMinutesSplitt = durationMinutes.split(".");
def secondsPart = Double.parseDouble("0." + durationMinutesSplitt[1]);
def secondWithMiliSeconds = secondsPart * 60;
在賈斯珀
在碧玉我渲染vlaue如下所示:
<textField isStretchWithOverflow="true" isBlankWhenNull="true">
<reportElement stretchType="RelativeToTallestObject" x="252" y="2" width="149" height="18" />
<box topPadding="2" leftPadding="2" bottomPadding="2" rightPadding="2"/>
<textElement textAlignment="Right" verticalAlignment="Middle">
<font size="8" isBold="true" pdfFontName="Helvetica-Bold"/>
<paragraph lineSpacing="Single"/>
</textElement>
<textFieldExpression><![CDATA[org.apache.commons.lang.time.DurationFormatUtils.formatDuration((long)$V{group1DurationStay}.doubleValue() * 3600000, "HH:mm:ss")]]></textFieldExpression>
</textField>
你能不能給一點的代碼,你現在怎麼辦計算? – Roelant
@Roelant:我將自己的代碼 – water
所以,你希望從原始值4.614444444(這將是很難給出如何彩車工作),最終結果4點36分51秒(這是很容易的),將其刪除或? :) – Roelant