如何在 C++/CLR 中连接数字

How to concatenate numbers in c++/CLR

我有一个变量num1

现在我想将一个数字连接到 num1

示例 -> num1 += 5;

它没有像预期的那样连接,而是将 num1 设置为 0。num2

也是如此

这是我的代码部分,应该将 num1num2 设置为 5:

private: System::Void button14_Click(System::Object^ sender, System::EventArgs^ e) {
    if (label1->Text == "Operator")
    {
        if (label3->Text == "Result")
            label3->Text = gcnew String("5");
        else
            label3->Text += gcnew String("5");
        to_string(num1) += "5";
    }
    else if (label1->Text != "Operator")
    {
        label3->Text += gcnew String("5");
        to_string(num2) += "5";
    }
}

这是 = 按钮

private: System::Void button23_Click(System::Object^ sender, System::EventArgs^ e) {
    if (label1->Text != "Operator")
    {
        if (label1->Text == "+")
        {
            result = num1 + num2;
            label3->Text = gcnew String(to_string(result).data());
        }
        else if (label1->Text == "-")
        {
            result = num1 - num2;
            label3->Text = gcnew String(to_string(result).data());
        }
        else if (label1->Text == "x")
        {
            result = num1 * num2;
            label3->Text = gcnew String(to_string(result).data());
        }
        else if (label1->Text == "÷")
        {
            float(result) = num1 / num2;
            label3->Text = gcnew String(to_string(result).data());
        }
        else if (label1->Text == "%")
        {
            float(result) = num1 / num2 * 100;
            label3->Text = gcnew String(to_string(result).data());
        }
        else if (label1->Text == "Power")
        {
            result = pow(num1, num2);
            label3->Text = gcnew String(to_string(result).data());
        }
        else if (label1->Text == "Square Root")
        {
            result = sqrt(num1);
            label3->Text = gcnew String(to_string(result).data());
        }
        else if (label1->Text == "Cube Root")
        {
            result = cbrt(num1);
            label3->Text = gcnew String(to_string(result).data());
        }
    }
    else
    {
        label1->Text = "Please make sure you complete the equation(put 0 as";
        label3->Text = "2nd number for root)";
    }
}

num1 += 6num1 = num1 + 6 相同,因此,如果 num1 为 5,则与 num1 = 5 + 6 相同,您可能知道,5 + 6是 11.

to_string(num1) += "5";num没有影响;它创建一个字符串,对其进行修改,然后将其丢弃。

您需要使用古代数学之力:num = num * 10 + 5;