字符串转双精度数据的问题

zhxy5203 2008-08-04 10:44:51
有一form1,上有textbox1和textbox2,textbox2.text=0,现利用语句 Me.TextBox1.Text = Format(System.Convert.ToDouble(Me.TextBox2.Text.Trim) * 1.2, "###,###,###.##")将Me.TextBox2.Text中的字符串装换成双精度数据再放入Me.TextBox1.Text,执行form1.show()时,出错提示:“创建窗体时出错。有关详细信息,请参阅 Exception.InnerException。错误为: 输入字符串的格式不正确。”
各位老师,请问该如何解决,谢谢。
...全文
207 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
taick 2008-08-04
  • 打赏
  • 举报
回复
只有变量才有双精度单精度之分
既然你指定两位小数点,又是放在textbox中
可以这样
TextBox1.Text = Format(Val(TextBox2.Text) * 1.2, "0,000.00")
yanlongwuhui 2008-08-04
  • 打赏
  • 举报
回复
我用的是2003,代码已测试过,你可以再试试:

If IsNumeric(Me.TextBox2.Text.Trim) Then
Me.TextBox1.Text = String.Format((System.Convert.ToDouble(Me.TextBox2.Text.Trim) * 1.2).ToString, "###,###,###.##")
Else
'MsgBox("不是有效数值。")
End If
zhxy5203 2008-08-04
  • 打赏
  • 举报
回复
试了,还是同样的错误
yanlongwuhui 2008-08-04
  • 打赏
  • 举报
回复
你的代码是写在LOAD中的吧,你缺少判断Me.TextBox2是否是有效的数字字符串了。

If IsNumeric(Me.TextBox2.Text.Trim) Then
Me.TextBox1.Text = Format(System.Convert.ToDouble(Me.TextBox2.Text.Trim) * 1.2, "###,###,###.##")
Else
‘MsgBox("不是有效数值。")
End If
oo渣渣oo 2008-08-04
  • 打赏
  • 举报
回复
Me.TextBox1.Text = Format(System.Convert.ToDouble(Me.TextBox2.Text.Trim) * 1.2, "#,##0.00")

16,717

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧