以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请教格式  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=76487)

--  作者:hbhb
--  发布时间:2015/10/30 10:10:00
--  请教格式
大师,好!
请问123,654.98  也就是format("123654.98","n")后的格式,为何参与计算时变成123?

--  作者:大红袍
--  发布时间:2015/10/30 10:16:00
--  
先运算,在格式化啊。或者先把逗号,替换成空值""
--  作者:hbhb
--  发布时间:2015/10/30 10:37:00
--  
谢谢!
那如何实现单元格输入数字123456.88时,自动转换为带分号符,123,456.88?

--  作者:大红袍
--  发布时间:2015/10/30 10:45:00
--  

1、你可以设置列的格式

 

http://www.foxtable.com/help/topics/1659.htm

 

2、你可以去写drawcell事件如

 

Dim d As Double

If Double.TryParse(e.Text, d) Then
    e.text = format(d, "n")
End If


--  作者:hbhb
--  发布时间:2015/10/30 11:46:00
--  
谢谢!
按2的方式,如我输入的就是format(d, "n")格式,就不行了?为何如下改动一下,就错误?

Dim d As Double

If Double.TryParse(str(e.Text).replace(",",""), d) Then
    e.text = format(d, "n")
End If


--  作者:大红袍
--  发布时间:2015/10/30 11:49:00
--  

Dim d As Double

If Double.TryParse(e.Text.replace(",",""), d) Then
    e.text = format(d, "n")
End If


--  作者:hbhb
--  发布时间:2015/10/30 12:02:00
--  
经验主义不是害死人,而是经验主义乐傻人!
--  作者:hbhb
--  发布时间:2015/10/30 12:42:00
--  
大师:drawcell事件中,为何下面的代码错?

If e.text = "0" Or e.text = "0.00" Or e.text = 0 Or e.text = 0.00  Then
e.text = ""
End If




--  作者:大红袍
--  发布时间:2015/10/30 12:49:00
--  

If val(e.text) = 0 Then

 

End If