Crystal reports Crystal报告中的分数问题

Crystal reports Crystal报告中的分数问题,crystal-reports,Crystal Reports,我在crystal report 2008中面临一个奇怪的问题 我有一个表(mytable),有两列col1isstring和col2isfloat(15) 以下是表中的值 Col1 Col2 AA 5.82518987E-5 BB 5.88383009E-5 在crystal report中创建了一个报告,并将mytable值放置在报告中,以显示col1的正确值,但对于COL2,它始终显示AA“0.0000582119”和BB“0.00005883

我在crystal report 2008中面临一个奇怪的问题

我有一个表(mytable),有两列
col1
is
string
col2
is
float(15)

以下是表中的值

Col1       Col2
AA         5.82518987E-5
BB         5.88383009E-5
在crystal report中创建了一个报告,并将mytable值放置在报告中,以显示
col1
的正确值,但对于COL2,它始终显示
AA“0.0000582119”
BB“0.0000588383”
的值,而不是表中的实际值

这是Crystal报告中的内容,而不是实际值

Col1       Col2
AA        0.0000582519
BB        0.0000588383
请帮忙


感谢CR有一个有趣的限制,它可以显示的最高精度数值是10位小数(这包括尝试使用
totext()
函数将数字转换为字符串)。这意味着任何超过该精度的浮点值都将在小数点后十位四舍五入

由于这一点,并且您使用的是精度高达15位的浮点,因此快速而肮脏的解决方案是通过将小数点移动到5位以上手动转换为科学记数法。您可以通过以下方式完成此任务:

totext({table.numeric}*10^5,10)和“E-5”

显然,这将不分青红皂白地将Col2中的所有数字转换为科学符号,无论它们是否需要,因此您可能希望添加一些附加条件处理


请注意,如果您在谷歌上搜索“Crystal Reports scientific notation”,您可以找到一些自定义函数来为您实现这一点。。。但是要小心,因为这些函数中的很多都没有考虑额外的精度,并且会导致精度大大降低。事实上,通过使用
totext()
函数,第一次点击()会将第一行中的精度降低到10位。

是否要以科学记数法显示该值?Col2是否被解释为字符串?是的,它应该显示数据库中的值,感谢它的工作。我还找到了另一种方法,创建一个sql表达式,然后将字段转换为文本转换(“TableName”。“field”作为varchar(20))