我有一个带有以下代码行的 SSJS 函数,它不断以科学计数法返回字段“day”的值。除了以下内容之外,我还尝试过使用 BigDecimal,但没有任何区别。SO 和其他关于科学记数法到十进制的博客上的所有其他问题都有 java 的示例,因此我已尽我最大的努力来解释如何为 SSJS 解释这些示例。
值存储在使用以下代码中的 exportDoc 访问的文档中,使用字段名称
字段名称:day
数据类型:数字
数据长度:8 字节
Seq Num:1
Dup 项目 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 系统时引起问题。