特串365账户负数出现负数是怎么回事——我该怎么办急

负数转成16进制字符串,该怎么解决_读书人
负数转成16进制字符串,该怎么解决
&来源:读书人网&【读书人网():综合教育门户网站】
负数转成16进制字符串这个为C#的代码。 string szTID -3857431long lTID 0long.TryPar
负数转成16进制字符串&&&这个为C#的代码。&string&szTID&=&"-3857431";&&&&&&&&&&&&&&&&long&lTID&=&0;&&&&&&&&&&&&&&&&long.TryParse(szTID,&out&lTID);&&&&&&&&&&&&&&&&lTID.ToString("X2").ToUpper();&&&&&&&&&&&&&&&&找高手解决。 [解决办法]declare&@num&bigint&set&@num=-3857431select&convert(varbinary,&@num)/*0xEAD69*/新表用varbinary类型就自动转换了。[解决办法]一开始是这样:--1.一开始这么转化,但是有问题,关键在于你的这个数太大,超出了int的范围select&cast(-3857431&as&varbinary)/*0x0CFEFE9FFF1D*/--2.这样就行了,转化为bigint,在转为varbianry,但是这个不是字符串,所以还是不行select&cast(cast(-3857431&as&bigint)&as&varbinary)&/*0xEAD69*/但是发现这样转化的是varbinary,而不是varchar,所以这里调用函数,把varbinary转化为varchar:use&你的goIF&OBJECT_ID&('dbo.varbin2hexstr')&IS&NOT&NULL&&&DROP&FUNCTION&dbo.varbin2hexstrGO&&&&&&&&--这个函数实现了把varbinary类型数据转化为varchar类型的数据&&&&CREATE&function&varbin2hexstr(@bin&varbinary(max))returns&varchar(max)asbegin&&&&declare&@re&varchar(max),@i&int&&&&select&@re='',@i=datalength(@bin)&&&&while&@i&0&&&&&&&&select&@re=substring('ABCDEF',substring(@bin,@i,1)/16+1,1)&&&&&&&&&&&&&&&&+substring('ABCDEF',substring(@bin,@i,1)%16+1,1)&&&&&&&&&&&&&&&&+@re&&&&&&&&&&&&,@i=@i-1&&&--&return('0x'+@re)&&&&return&@reend&&&&GO--3.调用函数dbo.varbin2hexstr,把varbinary转为字符串,这样才行select&dbo.varbin2hexstr(cast(cast(-3857431&as&bigint)&as&varbinary))/*EAD69*/}

我要回帖

更多关于 法院冻结账户是负数 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信