簡體   English   中英

如何使用stringstream將字符串同時轉換為int和double

[英]how to use stringstream to convert a string to an int and to a double at the same time

如何使用stringstream將字符串轉換為int和double?

輸入將是四位數字,后跟一個句點,再加上另外四位數字(####。####),我需要將前四位數字提取為一個整型,然后整件事需要為一雙,但我不確定從這里去哪里

    string s;
    cin >> s;
    stringstream ss;
    ss << s;
    int num1; // needs to be int
    ss.str(s);
    ss >> num1;
    ss.clear();
    ss << s;
    double num2; // needs to be a double
    ss >> num2;

例如,假設輸入中有1234.5678 閱讀發生后,我想在num1 1234 ,在num2 1234.5678

假設數字只有4位數字並且不是很大,就不需要解析兩次,而雙精度數應該能夠精確地保留整數部分,因此您可以隨后將其截斷為一個int數。

stringstream ss("1234.5678");
double foo;
ss >> foo;
int bar = static_cast<int>(foo);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM