如何计算字符串并将其存储在变量中

How to calculate a string and store it in a variable?

本文关键字:存储 变量 串并 字符串 何计算 计算 字符      更新时间:2023-10-16

我正在编写C 计算器,但我一直陷入将std :: String更改为数学计算的float变量的部分。

我已经尝试了ATOI并使用了" var"(单引号(,但是它似乎导致数字不稳定,并且代码的某些变化甚至不会编译说"第13行第18列C: users users lines"。user desktop calculator.cpp [error]不能转换'std :: string {aka std :: basic_string}'to in Initialition中的'float'。

#include <stdio.h>
#include <math.h>
#include <iostream>
#include <string>
#include <stdlib.h>
int main()
{
    std::cout << "Input arithmetic calculation: n";
    std::string calc;
    std::cin >> calc;
    atoi( calc.c_str() );
    float result=calc;
    std::cout << "Result = ";
    std::cout << result << 'n';
}

我希望计算输出,例如10*9 = 90但最终是10*9或(在float result中添加单引号=计算时=计算(1.93708E 009。

[...]我一直被卡在数学计算中std::string变化为float变量的部分。

因为:

  1. 您丢弃atoi()的值。用法看起来像这样: float result = atoi(calc.c_str());
  2. atoi()不做您认为的事情。它做不是执行任何数学评估。它只是将可以表示为数字表示的文本转换为上述数字,即float x = atoi("5");将产生x == 5。您不能使用atoi(),并期望它执行数学计算。它只是转换。

您需要自己实施此行为。