润乾报表处理小数位多余0

  • Post author:
  • Post category:其他


sql方法,to_char

这种有缺陷,没解决问题

润乾指定单元格格式

这种也有问题,只能指定截取几位

润乾round等函数

这种也只能指定截取几位

所以考虑换种优雅的方式实现截取多余0

下面是针对6位小数的截取

if(pos(string(ds1.breaking_elongation_std),".")==null,ds1.breaking_elongation_std,
	if(right(string(ds1.breaking_elongation_std),6)=="000000",round(ds1.breaking_elongation_std,0),
		(if(right(string(ds1.breaking_elongation_std),5)=="00000",round(ds1.breaking_elongation_std,1),
			(if(right(string(ds1.breaking_elongation_std),4)=="0000",round(ds1.breaking_elongation_std,2),
				(if(right(string(ds1.breaking_elongation_std),3)=="000",round(ds1.breaking_elongation_std,3),
					(if(right(string(ds1.breaking_elongation_std),2)=="00",round(ds1.breaking_elongation_std,4),
					  (if(right(string(ds1.breaking_elongation_std),1)=="0",round(ds1.breaking_elongation_std,5),ds1.breaking_elongation_std))
					   )
					)
				   )
				)
			   )
			)
		  )
		)  
	  )
)

虽然代码不优雅,但是实现了优雅的截取。

将ds1.breaking_elongation_std换成你自己的字段即可。



版权声明:本文为gsls200808原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。