私が見つけたすべての解決策はatollを使用しているようですが、文字列を持っている間はcharが必要です。たとえば、入力 $100 を読み取り、それを文字列に入れ、最初の文字が $ かどうかを確認します。次に、部分文字列を long long 型に変換する必要があります。
int main() {
long long price;
string priceStr;
cin>>priceStr;
if (priceStr[0] == '$') {
price = convertToLongLong(priceStr.substr(1));//how?
}else{
cerr<<"error!";
}
}
私の入力は: $100 ありがとう!
編集:多分私は適切な方法でそれをしていません。私の入力ストリームは、以下のような ID 名 $price #quantity であり、すべての数字が long long である必要があり、$ と # ため息が正しい場所にあるかどうかも確認します。
テレビ 1 台 $1500 #50
2 ラップトップ $2000 #30