Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Crystal reports 格式数字公式_Crystal Reports - Fatal编程技术网

Crystal reports 格式数字公式

Crystal reports 格式数字公式,crystal-reports,Crystal Reports,我在Crystal Report中有一个数字字段,必须以特定格式显示: 例如: 12345678 必须显示为 1234-5678 我使用一个公式将数字转换为字符串,将其子串2次,并连接两个值: StringVar ordenT := Totext(GroupName ({DataTableInfCR.Orden})); StringVar OrdenT1 := MID(ordenT,1,4); StringVar OrdenT2 := MID(ordenT,4,4); StringVar Nro

我在Crystal Report中有一个数字字段,必须以特定格式显示:

例如:

12345678

必须显示为

1234-5678

我使用一个公式将数字转换为字符串,将其子串2次,并连接两个值:

StringVar ordenT := Totext(GroupName ({DataTableInfCR.Orden}));
StringVar OrdenT1 := MID(ordenT,1,4);
StringVar OrdenT2 := MID(ordenT,4,4);
StringVar NroOrden := OrdenT1 +"-"+ OrdenT2;
但是,此代码的输出结果如下:

12.3-45.6

我确信这是因为默认的数字格式是带点的(例如:12345678将是12.345.678)

如何在代码之前通过公式更改格式


谢谢

回答您的问题,删除您使用的小数

StringVar ordenT := Totext(GroupName ({DataTableInfCR.Orden}),0);

编辑:

看看这是否能解决所有问题:

totext(GroupName({DataTableInfCR.Orden}),0,""),"xxxx-xxxx")

数字是否总是相同的长度,破折号是否总是在相同的位置(在第四位之后)?如果你有一个小数点,你只需要整数而忘记小数点吗?那四舍五入呢?字段是静态的,这意味着它永远是8位数字。最后一部分做到了。谢谢
totext(GroupName({DataTableInfCR.Orden}),0,""),"xxxx-xxxx")