我正在使用List()来检索一个数字字段,我随后通过文本字段中的合并变量在报表视图上显示该字段。显示的数据是在特定日期从事特定工作的员工列表,以及他们在各种分类下工作的小时数(正常,加班,不可计费,不可计费的加班等)。小时数是从另一个表中提取的所有计算字段,但它们需要以数字方式存储。
每列都有自己的文本字段:
| <<$$Name>> | <<$$normalHours>> | <<$$otHours>> | ...
提供如下输出:
Jim Jones 8 2
Ralph Ryder 4.25 0
Foo McBar 10 2.5
字段高度需要是动态的,因为可能会显示1到10个左右的员工。
问题是我希望始终显示带小数点后两位的小时字段:
Jim Jones 8.00 2.00
Ralph Ryder 4.25 0.00
Foo McBar 10.00 2.50
通过Inspector通常是微不足道的 - &gt;单值字段的数据,也许它仍然是微不足道的 - 但我只是没有看到它。
我在填充字段时尝试使用SetPrecision(小时; 2),并且在创建列表变量时也(尽管我认为它不会真正起作用):
$$ normalHours = SetPrecision(List(laborTable :: normalHours); 2)
在这两种情况下,我仍然看到整数的纯整数输出,并且在任何情况下都没有尾随零。
如果我能提供任何可能有用的进一步信息,请告诉我。
答案 0 :(得分:0)
您可以尝试一些事项:
您可以将normalHours字段更改为自动输入计算,取消选中“不替换现有值”,并将计算设置为以下内容:
Let ( [
whole = Int ( Self ) ;
remainder = Abs ( Self ) - Abs ( whole )
] ;
Case ( remainder = 0 ;
whole & ".00" ;
Self )
)
这将在您的字段中为任何整数添加“.00”。这应该稍后通过List()函数。
或者,如果您不想自动修改现有数字,可以使用非常类似的计算创建一个新的计算字段:
Let ( [
whole = Int ( normalHours ) ;
remainder = Abs ( normalHours ) - Abs ( whole )
] ;
Case ( remainder = 0 ;
whole & ".00" ;
normalHours )
)
然后你将在List函数中使用该计算字段,而不是normalHours字段。
对于更复杂的字段格式,您还可以使用这样的自定义函数:http://www.briandunning.com/cf/945
答案 1 :(得分:0)
您可以用门户网站替换它吗?
如果没有,则尝试在合并文本字段本身上设置格式。它也可以有格式化;每种数据类型只有一种变体,但在您的情况下它应该足够了。