gpt4 book ai didi

c++ - 如何在 C++ 中将字符串转换为 complex

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:16:34 24 4
gpt4 key购买 nike

如何轻松地将包含两个用逗号分隔的 float 的字符串转换为复数?

例如:

string s = "123,5.3";//input
complex<float> c(123,5.3);//output/what I need

有没有比拆分字符串更简单/更快的方法,读取两个值并返回 complex<float>

最佳答案

只需添加括号,默认的 operator>> 就会为您完成:

#include <iostream>
#include <string>
#include <complex>
#include <sstream>
int main()
{
std::string s = "123,5.3";//input

std::istringstream is('(' + s + ')');
std::complex<float> c;
is >> c;

std::cout << "the number is " << c << "\n";
}

附言。有趣的是每个人的风格都略有不同,尽管答案是一样的。如果您准备好处理异常,也可以使用 boost 来完成:

    std::complex<float> c = boost::lexical_cast<std::complex<float> >('('+s+')');

关于c++ - 如何在 C++ 中将字符串转换为 complex<float>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3413996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com