问题描述
对于一个客户,我开发了一个基于 T-sql 的客户报告,用于以十进制计算每天的工作小时数(例如 0.5 表示 30 分钟......)。这些结果用于 FastReport(版本 3.2.)。目前只有在计算出的数字有小数位时才会显示小数位。
现在我想将输出更改为始终显示 2 个小数位(例如 2.00、2.50),如果有更多小数位,我想显示 5 个小数位(例如 2.33333)。
对于字段的格式字符串(显示我计算的工作时间)我试过:
%2,2f
适用于第一种情况。对于 5 个地方:
%2,5f
但我不知道根据位数动态更改格式字符串(例如 hours%0.01 == 0 format string = %2,2f else %2,5f)。
我也尝试在 sql Server 2017 级别上解决这个问题:
CASE cdata % 0.01
WHEN 0 THEN CAST(cdata AS DECIMAL(10,2))
ELSE CAST(cdata AS DECIMAL(10,5))
END AS GesHour
然后将“GesHour”打印为文本。但这也不起作用。
如果有人能帮助我就好了。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)