我已经获得了使用Text的声明,但是我需要这样才能使它只适用于带(,)小数的数字,现在我被卡住了......
public ref class Form1 : public System::Windows::Forms::Form
{
private: Stack<String^>^ talen;
public:
Form1(void)
{
InitializeComponent();
//
//TODO: Add the constructor code here
//
talen = gcnew Stack<String^>();
}
private: System::Void btnPush_Click(System::Object^ sender, System::EventArgs^ e) {
String^ tal = tbxTal->Text;
talen->Push(tal);
tbxIn->AppendText(tal + "\n");
tbxTal->Text = "";
}
private: System::Void Pop_Click(System::Object^ sender, System::EventArgs^ e) {
while (talen->Count!=0)
{
String^ tal = talen->Pop();
tbxUt->AppendText(tal + "\n");
}
}
答案 0 :(得分:0)
要检查字符串是否包含有效数字,我会使用其中一种TryParse
方法。
这可能与Int32::TryParse
类似。当然,您可以使用Single::TryParse
,UInt16::TryParse
来表示您喜欢的任何类型的数字。
int value;
String^ tal = tbxTal->Text;
if(Int32::TryParse(tal, value))
{
tbxIn->AppendText(tal + "\n");
tbxTal->Text = "";
talen->Push(tal);
}
else
{
// Show an error.
}
如果你对堆栈做的唯一事情就是你在Pop_Click
中展示的内容,那么Stack<String^>^
就可以了,但是如果你正在做其他事情,那就考虑一下使用Stack<int>^
(或您选择的任何数据类型)代替。