字符串到整数的转换:Convert.toInt16 [英] String to Int conversion: Convert.toInt16

查看:595
本文介绍了字符串到整数的转换:Convert.toInt16的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



这是代码.

代码1:cmd.Parameters.Add("@ RateCenterID",OleDbType.Integer).Value = Convert.ToInt32(ratecenterid.Text);

代码2:cmd.Parameters.Add("@ QuantityThreshold",OleDbType.Integer).Value = Convert.ToIn32(quantityThreshold.Text);

我在** CODE 2 **中收到以下错误,但在CODE 1中却没有得到

错误:**对于Int32,值太大或太小.**

请帮助我

问候,
Arjun

Hi,

This is the code.

CODE 1: cmd.Parameters.Add("@RateCenterID", OleDbType.Integer).Value = Convert.ToInt32(ratecenterid.Text);

CODE 2: cmd.Parameters.Add("@QuantityThreshold", OleDbType.Integer).Value = Convert.ToIn32(quantityThreshold.Text);

I get the following error in the **CODE 2** but not in CODE 1

Error: **Value was either too large or too small for an Int32.**

kindly help me

Regards,
Arjun

推荐答案

使用int.TryParse()方法
Use int.TryParse() method
int theResult = 0;
            if (theValue == null || Convert.IsDBNull(theValue) || !int.TryParse(theValue.ToString(), out theResult))
                theResult = 0;
            return theResult;


OleDbType.整数是16位整数,而不是32位.您将需要改用LongInteger.在volumeThreshold.Text中输入的值可能大于32767(或小于-32768)

祝你好运!
OleDbType.Integer is a 16-bit integer and not 32-bit. You would need to use LongInteger instead. The value entered in quantityThreshold.Text is probably larger than 32767 (or below -32768)

Good luck!


这篇关于字符串到整数的转换:Convert.toInt16的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆