以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]table显示及EXCEL输出显示  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=97048)

--  作者:WELOVEFOX
--  发布时间:2017/3/5 8:54:00
--  [求助]table显示及EXCEL输出显示
遇到几个显示上的问题,还盼各位大神指导下,谢谢。

1.有无自带的小数位四舍五入,逢大5不进位的函数参数

如 1.0456  取两位小数  1.04 ,而不是1.05

2.字段内的数据含有突殊字符 * ? 等,能否类似EXCEL 加 ~进行快速替换,而不用借助EXCEL或其它函数进行操作
已解决,刚开始不知道为什么替换功能不起作用,现在起作用了。


3.EXCEL报表输出中,format 函数能不能处理字符显示特殊格式:

如:AAABBBCCC 显示为  AAA BBB CCC ,或 AAA,BBB,CCC 或任意指定的分隔 AA,ABBB,CC,C
[此贴子已经被作者于2017/3/5 9:57:50编辑过]

--  作者:有点色
--  发布时间:2017/3/5 10:32:00
--  

1、

 

http://www.foxtable.com/webhelp/scr/0281.htm

 

3、公式只能处理简单的格式,如果要灵活控制输出,可以用报表事件

 

http://www.foxtable.com/webhelp/scr/1953.htm

 


--  作者:WELOVEFOX
--  发布时间:2017/3/5 10:51:00
--  
1.round 是四舍六入五成双,希望的效果是直接舍。

Left(string,length)又仅是取长度,不是保留小数指定位数。


3.明白,只是想找下有没自带函数的。

[此贴子已经被作者于2017/3/5 10:55:32编辑过]

--  作者:有点色
--  发布时间:2017/3/5 12:54:00
--  

问题1:可以这样解决

 

Dim d As Double = 1.04999
d = format(d-0.005, "0.00")
msgbox(d)


--  作者:WELOVEFOX
--  发布时间:2017/3/5 14:42:00
--  
以下是引用有点色在2017/3/5 12:54:00的发言:

问题1:可以这样解决

 

Dim d As Double = 1.04999
d = format(d-0.005, "0.00")
msgbox(d)

感谢版主,套用了下,感觉把自己绕晕了,直接在EXCEL套用,结果不是很完美,负数值-0.005或负数前面的0没显示。
假设列[单精度]:

<IIF([单精度] = "","",IIF([单精度] > 0,IIF([单精度] > 0.005, format([单精度]-0.005, "0.00"), format(0.005-[单精度], "0.00")),IIF([单精度] > -0.005, format(-0.005-[单精度], "0.00"), format([单精度]+0.005, "0.00"))))>

 

如图: 

 


图片点击可在新窗口打开查看此主题相关图片如下:bandicam 2017-03-05 14-36-34-948.jpg
图片点击可在新窗口打开查看

--  作者:有点色
--  发布时间:2017/3/5 22:36:00
--  

直接用就行了吧?

 

<val(format([单精度]-0.005, "0.00"))>