[英]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.