首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

VB.NET中的Format如何和VB6中的不一样

2012-01-31 
VB.NET中的Format怎么和VB6中的不一样VB6resultFormat(“123”,“000000”)’result:000123resultFormat(“123

VB.NET中的Format怎么和VB6中的不一样
VB6
result=Format(“123”,“000000”)
’result   :000123
result=Format(“1234”,“###,###.00”)
’result   :123,4.

请问VB.Net中有没有替代函数?
我想在TextBox中,输入数字后自动按以上面形式Format,苦无良策,还望高人指点!不胜感激

[解决办法]

Dim i As Int32 = 123
Dim result As String = i.ToString( "000000 ")
’result :000123

Dim i As Int32 = 1234
Dim result As String = i.ToString( "###,###.00 ")
’result :1,234.00
'没用过VB6,楼主示例所给结果是否有问题


.net中用ToString方法的重载来自定义数字格式字符串,具体可参考MSDN
ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_fxfund/html/6f74fd32-6c6b-48ed-8241-3c2b86dea5f4.htm
[解决办法]
string result = string.Empty;
int iii = 123;
result = iii.ToString().PadLeft(6, '0 ');
//Console.WriteLine(result);
int iix = 1234;
result = iix.ToString( "###,###.00 ");
//Console.WriteLine(result);
[解决办法]
VB.NET 应该是下面吧 没VB暂时没调试:)

Dim result As String
Dim iii As Integer = 123
Dim iix As Integer = 1234
result = iii.ToString.PadLeft(6, "0 "c)
result = iix.ToString( "###,###.00 ")

[解决办法]
改成 就行了

result=Format(123,“000000”)
’result :000123
result=Format(1234,“###,###.00”)
’result :123,4.

[解决办法]
WinForm?TextChanged事件里实现?楼主自己测试一下看是否可行吧

一般是在TextBox的TextChanged事件里判断输入的内容是否符合规则,比如是否为数字,并做处理
然后在Leave事件里格式化,也就是TextBox失去焦点的时候格式化
[解决办法]
这个方法好用,可是要是Double型的怎么办?
---------------------
给个例子,看你要什么样的结果

Dim d As Double = 1234.56
Dim result As String = d.ToString( "###,###.##0 ")
’result :1,234.560

热点排行