找回密码
 立即注册

QQ登录

只需一步,快速开始

sjg

中级会员

8

主题

17

帖子

781

积分

中级会员

积分
781

活字格认证

sjg
中级会员   /  发表于:2013-10-12 16:40  /   查看:5995  /  回复:5
我是用lable绑定数据的
在public void detail_Format()
{
        if(int.parse(lable1.text)<0)
        {
               //设置lable为红色
        }
}可是一直报字符串格式错误
如果直接写lable1.Text=="0"就可以正常显示
脚本中如何转换格式,求教

5 个回复

倒序浏览
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-10-12 17:21:00
沙发
sjg 你好

你是在脚本窗体中写的代码,还是后台通过C#/VB.NET实现的转换。
回复 使用道具 举报
sjg
中级会员   /  发表于:2013-10-14 08:33:00
板凳
回复 2楼dof的帖子

窗体中的脚本和后台代码都无法实现,这个是窗体中的脚本
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-10-14 09:06:00
地板
如果两个地方都无法实现转化,你可以调试一下 lable.text 取出来的值什么,我觉得可能是该值本身不是一个合法的 int 值,所以无法转换。

你可以通过  int.TryParse 来检查一下该值是否可以转换为 int。
回复 使用道具 举报
sjg
中级会员   /  发表于:2013-10-14 09:39:00
5#
回复 4楼dof的帖子

调试后 lable.text 是10000.00
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-10-14 10:14:00
6#
一方面,你可以检查 lable 对应数据源列的数据类型,如果该列数据类型是 string 是可能引起该问题
另一方面,你可以使用 Parse 的另一个重载方法,代码如下:
  1.     private void detail_Format(object sender, EventArgs e)
  2.     {
  3.         if (int.Parse(label1.Text,System.Globalization.NumberStyles.Any) < 0)
  4.         {
  5.             label1.BackColor = Color.Red;
  6.         }
  7.         else
  8.         {
  9.             label1.BackColor = Color.Transparent;
  10.         }
  11.     }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部