簡體   English   中英

使用getItemValueDouble返回的科學計數法

[英]Scientific Notation returned using getItemValueDouble

我有一個帶有以下代碼行的SSJS函數,該函數不斷以科學計數形式返回字段“ day”的值。 除以下內容外,我還嘗試使用BigDecimal。 SO和其他博客上有關科學計數到十進制的所有其他問題都有java的示例,因此我已盡力嘗試如何將這些示例解釋為SSJS。

使用字段名稱在以下代碼中通過exportDoc訪問的文檔中存儲的值
欄位名稱:天
數據類型:數字
數據長度:8個字節
序數:1
重復項ID:0
字段標志:摘要

-37.5

    exportDoc.getItemValueDouble('day');
    returned value: -3.75E1

    var dform:java.text.DecimalFormat = new java.text.DecimalFormat("0.##");
    var hrs:String = dform.format(exportDoc.getItemValueDouble('day'));
    //using hrs:Double returns same value
    returned value: -3.75E1

    var hrs:String = dform.parse(@Text(exportDoc.getItemValueDouble('day')));
    //using hrs:Double returns same value
    returned value: -3.75E1

    var hrs = Number(exportDoc.getItemValueDouble('day'));
    returned value: -3.75E1

如果將exportDoc.getItemValueDouble('day')乘以10,我得到-375,如果再除以10,我仍然得到-3.75E1,如果我使用exportDoc.getItemValueInteger('day'),我得到-38。

對於-2,-108等整數或負數,即使不是整數也不會發生這種情況。

非常感謝您的幫助,因為這會在導入我們的HRIS系統時引起問題。

您確定沒有設置某種轉換器嗎?

我只是整理了一個測試頁,但是這里沒有發生:

<xp:panel id="upperPanel">
    <xp:label value="Number field (shows value stored in number field): "
        id="label1"></xp:label>
    <xp:inputText id="inputText1" value="#{document1.subNum}">
        <xp:this.converter>
            <xp:convertNumber type="number"></xp:convertNumber>
        </xp:this.converter>
    </xp:inputText>
</xp:panel>
<xp:panel id="lowerPanel">
    <xp:label id="label2"
        value="Calculated Number (computes value using .getItemValueDouble()): ">
    </xp:label>
    <xp:text escape="true" id="computedField1">
        <xp:this.value><![CDATA[#{javascript:currentDocument.getItemValueDouble("subNum")}]]>
        </xp:this.value>
        <xp:this.converter>
            <xp:convertNumber type="number"></xp:convertNumber>
        </xp:this.converter>
    </xp:text>
</xp:panel>

然后看起來像這樣:

屏幕截圖

我什至嘗試將Notes表單的field屬性設置為“ scientific”,但是(當然)這對Xpages沒有任何影響。

可能我沒有理解您要做什么?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM