怎样获取到int的长度

假设有下面的这个方法:

 public string fun1(string input,int length)
        {
            string strReturn = input;
            for (int i = 0; i < length - input.Length; i++)
            {
                strReturn = "0" + strReturn;
           
            }
            return strReturn;      

  }

 

调用:fun1("790",4);  -->最后的结果:0790

          fun1("1234",5); -->最后的结果:01234    

 

那么设想一下,有这样的一个需求:

       给你一个int型的数字比如说是int temp = 790,要你转换成“abc0790”【7位;abc一定要有;除去abc后剩下的不足4位的补0】!

 

那么我相信很多的人会犯一个这样的错误:获取temp的长度

            int temp = 790;

            int j = 0;
            for (int i = 1; int1 > 9; i++)
            {
                int1 /= 10;

                j+= i;

            }

这样获得到了temp的长度j,然后在用if 。。。 else。。。来判断,需要给参数补多少个0!

 

很显然是很麻烦!我们用上面的fun1,在返回的时候:return (“abc” + strReturn)就OK!

 

       如果我猜得没错的话,很多的时候我们被表面的东西误导了,他需要int型的参数,我们就只考虑了int,或许连转换成string都没考虑!

 

显然“temp。Length”是没有的,但是string aa = temp。toString(),那么aa。Length不就是temp的长度吗???

 

 

然后,我们的另外一个页面上有TextBox,通过输入“abc0790”获得到相应的数据,再怎么考虑呢?

 

我希望大家别被上面的给误导了。。。

 

存储过程里查询的sql语句只需要ID,ID前面的头不要,那么怎么去掉呢?

string sql = “select * from Info where id = ” + ID;

页面上的控件:

编号:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="查找" />


 

 

他需要只是后面的ID,那么我们可以去掉字母“abc”,转换成int后,前面的0就自己去掉了!

int bb = Convert.ToInt32(temp.value.Replace("abc",""));

 

bb = 790;

最后得到的结果跟预期一样!

 

以上的东西仅供参考,如有疑问可以在线联系!

 

 

 

 

 


 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值