如何计算字符串并将其存储在变量中
How to calculate a string and store it in a variable?
我正在编写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
变量的部分。
因为:
- 您丢弃
atoi()
的值。用法看起来像这样:float result = atoi(calc.c_str());
-
atoi()
不做您认为的事情。它做不是执行任何数学评估。它只是将可以表示为数字表示的文本转换为上述数字,即float x = atoi("5");
将产生x == 5
。您不能使用atoi()
,并期望它执行数学计算。它只是转换。
您需要自己实施此行为。
相关文章:
- 存储变量的更有效方法是什么?
- 使用 system() 不存储变量C++?
- 在递归DP中,通过存储变量来分解递归调用:效率低下
- 使用 LDAP 存储C++变量
- 在满足特定条件时运行迭代C++以存储变量
- 使用getline解析和存储变量
- 如何存储变量的地址并使用指针打印值
- C++ / Objective-C++ - 如何在 NSDictionary 中存储C++变量?
- 如何从文件中读取并存储变量
- 指针是否延长了自动存储变量的生存期
- 如何在 INI、CFG 或 XML 文件中存储C++变量
- 如何在 c++ 中的字符串数组中存储变量
- 如何在特定偏移量处存储变量
- 如何存储变量的前一个值并更新它以进行比较
- 存储变量的有效方法是什么?(自制虚拟机)
- 在C++中存储变量
- 在c++中按值调用时,存储变量的副本
- 为什么lambda只捕获自动存储变量
- 如何在寄存器中存储c++变量
- Getline()结合cin.ignore()不存储变量?(错误)