我正在制作报告,我需要精确的十进制值。一个数字可以有 2 位小数,一个数字可以有 10 位。如果我将小数范围设置为 10 位,则该列将始终显示 10 位小数,大部分为 0。如果它们存在,我如何忽略值中的 0?例如,我喜欢这样显示的数据:
123.24
98.234
1212.678432
代替:
123.2400000000
98.2340000000
1212.6784320000
我正在制作报告,我需要精确的十进制值。一个数字可以有 2 位小数,一个数字可以有 10 位。如果我将小数范围设置为 10 位,则该列将始终显示 10 位小数,大部分为 0。如果它们存在,我如何忽略值中的 0?例如,我喜欢这样显示的数据:
123.24
98.234
1212.678432
代替:
123.2400000000
98.2340000000
1212.6784320000
请执行下列操作:
粘贴以下代码,并确保更改 {myproc;1.col1} 以反映您的过程/列:
stringVar number := ToText({myproc;1.col1}, 8);
while (right(number, 1) = "0") do
number := left(number, len(number) - 1);
len(number) - InStr(number, ".");
重要:
最简单的方法是在 format filed->Number->Customize-> Decimals Code Part 尝试下面的代码:
if CurrentFieldValue=Int(CurrentFieldValue) then
0
else
2
数字“2”是您的小数位,您可以自己替换它。
如果您没有对该字段进行任何计算而只是报告它,您可以将其作为字符串而不是数字输入到您的报告中吗?
这将允许您将字段保留为数字,而不必转换为文本。此解决方案是小数点处的格式更改。
•右键单击要应用此格式的“详细信息”字段
•单击“格式字段”
•单击“数字”选项卡
•单击“自定义...”
从要保留的最大小数位开始,然后向后复制该行。例如,如果您知道要保留的最大小数位数以该数字开头,即 1.2345600,您将从 5 开始。如果数字为 0,您必须首先考虑这一点,否则您将收到错误
“字段名称”是您要更改其格式的数据库字段名称。
If {"Field Name"} = 0 then 2 else
if((({"Field Name"})/(truncate({"Field Name},4)))>1) then 5 else
if((({"Field Name"})/(truncate({"Field Name},3)))>1) then 4 else
if((({"Field Name"})/(truncate({"Field Name},2)))>1) then 3 else
2