首页 > 技术文章 > vb.net中关于报表使用时小数点显示问题

shuixing 2020-08-21 09:34 原文

整个程序执行环境为,设计好的一个报表,设计好的数据集内含一个数据表,设计好的一个窗体

窗体加载时,显示设计好的报表,并从数据库中加载数据向数据集中填值。

发现问题为,数据集中数值明明是0.9,但是在报表的TextBox上显示数值是0.899。

分析问题,报表中的控件TextBox显示的数值是对数据表中所有记录的该字段求和处理,然后显示。使用的是聚合函数Sum进行加载处理,小数位处理方式未知。

初步判读问题所在是小数位处理方式有问题,有两种方式可以解决。1、对报表中TextBox的函数进行修改,计算后的结果使用Format函数按自定义格式进行显示,此处为Format(expression,"#0.00")。

2、修改控件TextBox的属性Format属性进行修改,此处改为N3,表示保留3位有效数值

经过验证这两种方法都可以实现预期的效果。

注意:如果以上两种方法都无法解决,始终显示小数位没有达到预期。要记得查看TextBox的大小,调好宽度。因为我在项目设计过程中就遇到过这种情况。

当时发现控件TextBox显示的数值可以是0.900,却不能显示10.668,而是一直显示10.66,经过多次尝试发现一直是5个字符显示,最后一个是被挡住了。

推荐阅读