标签: numeric

CEdit数字验证事件C++ MFC

我有一个CEdit文本框,它是属性窗格的一部分,只允许数值(正整数).当人们输入非数字值时,该框工作正常,但当他们删除框中的值时会弹出一个对话框,说:"请输入一个正整数."

情况如下:
1.我在框中有一个数字(比如20).
我删除了这个号码.
3.我收到错误对话框.
有谁能告诉我如何拦截这个事件并在那里放一个默认值?

这是我的属性窗格的样子:


const int DEFAULT_VALUE = 20;

class MyPropertyPane:public CPropertyPane
{
    //....
private:
    CEdit m_NumericBox;
    int   m_value;

    //....
public:
    afx_msg void OnEnChangeNumericBox();

    //....
}
void MyPropertyPane::MyPropertyPane()
{
   // Set a default value
   m_value = DEFAULT_VALUE;
}

//....
void MyPropertyPane::DoDataExchange(CDataExchange* pDX)
{
    DDX_Control(pDX, IDC_NUMERIC_BOX, m_NumericBox);

    // this sets the displayed value to 20
    DDX_Text(pDX, IDC_NUMERIC_BOX, m_value);
}

//....
void MyPropertyPane::OnEnChangeNumericBox()
{
    // Somebody deleted the value in the box and I got an event
    // saying …
Run Code Online (Sandbox Code Playgroud)

c++ events mfc numeric cedit

4
推荐指数
1
解决办法
2万
查看次数

4
推荐指数
2
解决办法
1万
查看次数

WPF Databinding TextBox到另一个对象的整数属性

我认为这是一个非常简单的数据绑定问题(我还是WPF的新手).我有一个班级(这个问题简化了)

public class ConfigurationData
{
    public int BaudRate { get; set; } 
}
Run Code Online (Sandbox Code Playgroud)

在MainWindow.Xaml.cs中我有一个私有成员变量:

private ConfigurationData m_data;
Run Code Online (Sandbox Code Playgroud)

和方法

void DoStuff()
{
   // do a bunch of stuff (read serial port?) which may result in calling...
   m_data.BaudRate = 300; // or some other value depending on logic
}
Run Code Online (Sandbox Code Playgroud)

在我的MainWindow gui中,我想要一个显示m_data.BaudRate的TextBox,并允许双向绑定.用户应该能够在文本框中输入值,文本框应该显示我们由"DoStuff()"方法引起的新值.我已经看到很多关于绑定到MainWindow上的控件的另一个属性的示例,以及绑定到datacollection,但没有绑定到另一个对象的属性的示例.我认为我的例子就像它得到的一样简单,令人烦恼的是,我正在绑定一个整数,而不是一个字符串,如果可能的话,我希望用户只能输入整数.
BTW我考虑使用数字上/下,但决定反对它,因为似乎没有很多支持/非商业数字上/下控制的例子.另外,它可能是一个非常大的数字范围.

我认为指向一个好例子的指针会让我走上正轨.非常感谢,戴夫

data-binding wpf textbox numeric

4
推荐指数
2
解决办法
3万
查看次数

在Powershell中用$ PATH执行EXE,它以数值开头?

所以7z.exe在我的$ PATH环境变量中.

PS C:\Users\jimmeh> 7z.exe
Bad numeric constant: 7.
At line:1 char:2
+ 7 <<<< z.exe
    + CategoryInfo          : ParserError: (7:String) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : BadNumericConstant
Run Code Online (Sandbox Code Playgroud)

除了重命名EXE,有没有办法做到这一点,还是Powershell中的一个错误?

powershell exe constants numeric

4
推荐指数
1
解决办法
2218
查看次数

VHDL:将数值放入STD_LOGIC_VECTOR变量的代码

我想在STD_LOGIC_VECTOR类型的变量中输入一个数字,但我的编译器有问题.

signal cl_output_ChA :   STD_LOGIC_VECTOR (16-1 downto 0);

cl_ouput_ChA <= 111111111111111;
Run Code Online (Sandbox Code Playgroud)

编译器给我这两条消息:

  • 整数值111111111111111大于整数'高.
  • cl_output_ChA的类型与类型111111111111111不兼容.

谁能给我一个合适的代码行来把这个变量放入一个特定的数值?非常感谢.

numeric vhdl

4
推荐指数
2
解决办法
3万
查看次数

Numpy数组切片

我有一个numpy数组,以及一些偏移/长度值.我想从这个数组中提取所有属于offset,offset + length的条目,这些条目然后用于从原始数组构建一个新的'reduced'数组,它只包含偏移/长度对选择的那些值.

对于单个偏移/长度对,这对于标准阵列切片来说是微不足道的[offset:offset+length].但是,如何针对许多偏移/长度值有效地(即没有任何循环)执行此操作?

谢谢,马克

python arrays numpy numeric scipy

4
推荐指数
2
解决办法
2372
查看次数

如何用数字和字符列创建数据框?

我正在尝试建立一个由三个字符变量和一个数字变量组成的数据框。当我运行以下代码时,我得到了一个四列的矩阵,但是分数变量不再是数字,并且分数被视为因子。

school<-c("NYU", "BYU", "USC", "FIT", "UNH","UCLA","USF","Columbia")
state<-c("NY","UT","CA","NY","NY","CA", "CA","NY")
measure<-c("MSAT","MSAT","GPA","MSAT","MSAT","GPA","GPA","GPA")
score<-c(500, 490, 2.9, 759, 550, 1.2, 3.1, 3.2)
data<-cbind(school,state, measure,score)
Run Code Online (Sandbox Code Playgroud)

如果我跑步

data1<-data.frame(cbind(school,state, measure,score))
Run Code Online (Sandbox Code Playgroud)

我得到的数据帧score仍然是一个因素。如何建立这个数据框,使之score为数字?

r numeric dataframe cbind

4
推荐指数
1
解决办法
1万
查看次数

Fixnum和Numeric和有什么不一样

它们看起来是等效的,但是当比较它们时,它是错误的:

5.is_a? Fixnum
# => true
5.is_a? Numeric
# => true
Numeric == Fixnum
# => false
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails numeric fixnum

4
推荐指数
1
解决办法
1170
查看次数

不会像在R中那样解析19位数字

我在字符数组中的JSON中有以下数字:

[1544018118438041139,162.0,38.0,0.023529414,1.0,2131230815,1]

library(jsonlite)
fromJSON(
  '[1544018118438041139,162.0,38.0,0.023529414,1.0,2131230815,1]'
)
Run Code Online (Sandbox Code Playgroud)

收益:

[1] 1544018118438041088.000000000000000000000
162.000000000000000000000 38.000000000000000000000 [4] 0.023529413999999998497
1.000000000000000000000 2131230815.000000000000000000000 [7] 1.000000000000000000000

我想让它返回正确的确切时间(大号:1544018118438041139)

请告知如何使其工作.

json r numeric biginteger

4
推荐指数
1
解决办法
93
查看次数

高效的轧制窗产品的总和

给定i = 0到N-1的数字序列a [i],我试图计算以下总和:

a[0] * a[1] * a[2] +
a[1] * a[2] * a[3] +
a[2] * a[3] * a[4] +
...
a[N-4] * a[N-3] * a[N-2] +
a[N-3] * a[N-2] * a[N-1]
Run Code Online (Sandbox Code Playgroud)

我想使乘法组的大小G(在上面的例子中为3)成为一个可变参数.然后,可以使用简单的O(N*G)算法天真地获得结果,该算法可以用伪代码编写,如下所示:

sum = 0
for i from 0 to (N-G-1):
  group_contribution = 1
  for j from 0 to (G-1):
    group_contribution *= a[i+j]
  sum += group_contribution
Run Code Online (Sandbox Code Playgroud)

然而,对于大G,显然该算法非常低效,特别是假设序列a [i]的数量事先不知道并且必须在运行时昂贵地计算.

出于这个原因,我考虑使用以下复杂度O(N + G)算法,它通过计算轧制产品来回收序列a [i]的值:

sum = 0
rolling_product = 1
for i from 0 to (G-1):
  rolling_product *= a[i] …
Run Code Online (Sandbox Code Playgroud)

algorithm math numeric discrete-mathematics

4
推荐指数
1
解决办法
130
查看次数