Crystal reports 根据区域设置,使用十进制分隔符格式化数字字段

Crystal reports 根据区域设置,使用十进制分隔符格式化数字字段,crystal-reports,formatting,report,decimal,separator,Crystal Reports,Formatting,Report,Decimal,Separator,我需要格式化几个数字字段,以便它们显示各种小数位数等,同时根据区域设置保留正确的小数和千分隔符,即。 -1234.567(英文) -1.234567(德语) 如果可以使用系统默认数字格式显示数字字段,则没有问题。但当我尝试深入定制风格时,问题开始出现。我可以更改小数位数,但同时小数点和千位分隔符没有更改,因此在执行报告时,无论我使用什么语言环境(德语或英语),它们都与定义的(,)相同。我无法更改它们,因为它们必须使用本地设置动态显示 这是Crystal Reports(我使用的是版本11)中的错

我需要格式化几个数字字段,以便它们显示各种小数位数等,同时根据区域设置保留正确的小数和千分隔符,即。 -1234.567(英文) -1.234567(德语)

如果可以使用系统默认数字格式显示数字字段,则没有问题。但当我尝试深入定制风格时,问题开始出现。我可以更改小数位数,但同时小数点和千位分隔符没有更改,因此在执行报告时,无论我使用什么语言环境(德语或英语),它们都与定义的(,)相同。我无法更改它们,因为它们必须使用本地设置动态显示

这是Crystal Reports(我使用的是版本11)中的错误吗

是否可以通过编程获得当前小数点和千位分隔符的值,并在公式中使用?例如,在Oracle报告中,可以使用D和G作为分隔符,因此格式掩码看起来像“999G999G999G990D000”-在Crystal报告中也可以这样做吗


在调用报表的java中,我们只使用setLocale方法—可能还需要使用其他方法?

据我所知,无法直接获取千位分隔符和小数的本地系统符号。但是,您可以通过
contentlocale
变量手动检查区域设置,并选择适当的格式

例如,要将“.”显示为美国英语的十进制符号,您可以输入公式
if contentlocale=“en_US”then.'else','


谢谢Ryan,这可能会很有用!