Tag: int32

为什么Int32最大值是0x7FFFFFFF?

我在MSDN文档中看到Int32的2,147,483,647是2,147,483,647 ,hex0x7FFFFFFF 。 http://msdn.microsoft.com/en-us/library/system.int32.maxvalue.aspx 我想,如果它是Int32它应该存储32位整数值,最后应该是4,294,967,295和hex0xFFFFFFFF 。 我的问题是为什么Int32存储31位整数值?

尝试将float转换为Int32时,Convert.ToInt32(float)失败

抛出没有exception,函数只是在这个语句中停止: int productQuantity = Convert.ToInt32(“1.00”); 并返回。 将此浮点数转换为Int32我做错了什么? 注意:我在BackgroundWorkerThread运行。

Int.TryParse()始终返回false

我有以下代码 int varOut; int.TryParse(txt1.Text, out varOut); // Here txt1.Text = 4286656181793660 这里txt1.Text是JavaScript生成的随机16位数字,是一个整数。 但是上面的代码总是返回false,即varOut值总是为零。 我在这做错了什么?

为什么Convert.ToInt32()舍入到最接近的偶数,而不是最接近的整数?

查看Convert.ToInt32()的msdn文档,它指出: 如果值在两个整数之间,则返回偶数; 也就是说,4.5转换为4,5.5转换为6。 http://msdn.microsoft.com/en-us/library/ffdk7eyz.aspx 为什么是这样? 当然,舍入到最接近的整数更合乎逻辑,不是吗? 如果是这样,4.5将变为5,而5.5将变为6,这似乎更直观。

LINQ to Entities无法识别方法’Int32 Parse(System.String)’方法,

我正在使用Entity Framework,我有一行代码将字符串字段(id)转换为int并与数字进行比较 students = students.Where(s => (Int32.Parse( s.id)>5555)); 每当我尝试运行它时,我都会收到此错误。 “LINQ to Entities无法识别方法’Int32 Parse(System.String)’方法,并且此方法无法转换为商店表达式。” 我尝试了不同的东西,没有任何工作,所以任何帮助都会很棒。

乘以两个正Int32返回错误的否定答案?

我真的很难过这个。 我正在使用C#编写Windows Phone 7.5; 我从文本框中取出文本,将其解析为数组,然后使用Convert.ToInt32将每个数组元素转换为Int32,然后通过一系列数学计算运行生成的Int32值,将Int32值乘以并添加到硬编码数字(均取决于UI中选择的内容)。 一切都很好,直到我得到结果计算并将它们相乘:我从两个正数乘以得到一个负数! 这是我唯一一次使用源自使用Convert.ToInt32函数的方法的数字进行任何计算。 当它们被加,减,甚至分开时,数学运算正确。 但是当它们成倍增长时,没有骰子。 数学是完全错误的; 我仔细检查了LibreOffice Calc中的数学并且它不匹配。 当单步执行代码时,一切都是正确的,直到源自使用Convert.ToInt32函数的方法中的数字相乘。 有任何想法吗?

无法在System.Int32和System.String上执行“Like”操作。 DataGridView搜索和过滤

我有一个表单,当我从ComboBox中选择一个列名,并在文本框中键入它时,它会过滤并在DataGridView中显示搜索的条件。 当我搜索“引用”时,它是一个int数据类型,也是标识和主键。 我收到错误消息: “无法在System.Int32和System.String上执行’Like’操作。” 我的代码是 DataTable dt; private void searchForm_Load(object sender, EventArgs e) { SqlCeConnection con = new SqlCeConnection(@”Data Source=|DataDirectory|\LWADataBase.sdf;”); SqlCeDataAdapter sda = new SqlCeDataAdapter(“select * from customersTBL”, con); dt = new DataTable(); sda.Fill(dt); dataGridView1.DataSource = dt; comboSearch.Items.Add(“[Reference]”); comboSearch.Items.Add(“[First Name]”); comboSearch.Items.Add(“[Surename]”); comboSearch.Items.Add(“[Address Line 1]”); comboSearch.Items.Add(“[Address Line 2]”); comboSearch.Items.Add(“[County]”); comboSearch.Items.Add(“[Post Code]”); comboSearch.Items.Add(“[Contact Number]”); comboSearch.Items.Add(“[Email Address]”); } […]

在C#中,Int64不等于long吗?

我一直在使用SqlCeConnection在C#中使用SQL和数据库。 我一直在使用ExecuteReader来读取读入Longs的记录ID的结果和BigInt值。 今天我一直在玩SQL语句,这些语句使用基于COUNT的语句(’SELECT COUNT(*)FROM X’)并且一直在使用ExecuteScalar来读取这些单值结果。 但是,我遇到了一个问题。 我似乎无法将值存储到Long数据类型中,我一直在使用它。 我可以将它们存储到Int64中。 我一直在使用BigInt获取记录ID以获得最大可能的记录数。 因此,BigInt 8字节是Int64。 长度是否等于Int64,因为两者都是64位有符号整数? 因此,为什么我不能将Int64转换为Long? long recordCount =0; recordCount = (long)selectCommand.ExecuteScalar(); 错误是: 指定演员表无效。 我可以将BigInt读成Long。 这不成问题。 我无法读取SQL COUNT到long。 COUNT返回一个Int(Int32),所以问题实际上是将Int32转换为long。

双重解析文化格式

我有一个双号作为字符串。 这个数字是 202.667,40 这是202667.4 我如何解析此字符串以获取如下值:Double.Parse(“202.667,40”,?这里是什么),或获取该值的任何其他方法将是伟大的。 谢谢