首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >asp.net中复选框的数字模式?

asp.net中复选框的数字模式?
EN

Stack Overflow用户
提问于 2012-09-30 14:17:07
回答 3查看 150关注 0票数 0

我有一个数据库表,它包含一个字段名省位,它将模式的计数相加如下:

代码语言:javascript
复制
AB-1
BC-2
CD-4
DE-8
EF-16.... and so on.

现在,在表条目中,我有一个值-13(省位),这意味着应该检查AB、CD、DE(加起来为13)的复选框。

我无法得到同样的逻辑,怎么能只检查那些加起来等于表中条目的复选框呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-09-30 14:27:25

字段使用位标志。

13是1101二进制。

因此,将值转换为位,并为每个复选框分配一位。

票数 0
EN

Stack Overflow用户

发布于 2012-09-30 14:26:35

您需要检查该值是否为按位总计。

代码语言:javascript
复制
if( interestedInValue & totalValue == interestedInValue) 
{
  // this value is in the total, check the box
}

关于& http://msdn.microsoft.com/en-us/library/sbf85k1c(v=vs.71).aspx的文档

例如13 =1+4+8

13 &1 == 1 //真

13及2 == 2/假

13 &4 == 4 //真

13 &8 == 8 //真

13 & 16 == 16 //假

编辑:欲获得更多澄清

代码语言:javascript
复制
ab.Checked = 1 && ProvinceBit == 1  // checkbox AB  
bc.Checked = 2 && ProvinceBit == 2  // checkbox BC  
...
票数 1
EN

Stack Overflow用户

发布于 2012-10-01 01:57:08

通过将数字转换为字符串,您可以转换为数组,或者只需遍历字符串。有点蛮力,但会给你你所需要的。

代码语言:javascript
复制
var value = 13
string binary = Convert.ToString(value, 2);
//binary = "1101"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12661907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档