检查字符串C ++中的数字总和

新手2018

有什么方法可以检查字符串的输入是否在00到99的范围内?

我正在创建一个用于赚钱的类,因为不建议使用float,所以我想到将输入分成两个字符串。一欧元,一美分。之后,组合字符串并将其流式传输到int Long。但是问题是,如果用户使用的位数太少或太多,那么整件事将成为灾难。

void Money::deposit() {

    cout << "How much do you want to deposit? (Euros [ENTER], Cents [ENTER)" << endl;
    string euros, cents;
    cout << "Deposit: " << flush; cin >> euros; cout << "," << flush; cin >> cents;

}
刺柏

我建议您首先将金额作为一个字符串,然后分析该字符串-查找小数点(如果有),确定是否喜欢用户以美分提供的位数(=数字字符),等等。std::string类具有许多可用于此目的的相关方法。

这样做的好处是,您将避免潜在的解析失败,并且不必处理烦人的iostream语义。

但是请注意,此解决方案非常初级,在其他地区和/或其他货币中将无法使用。或者更确切地说,您将需要重写其他人编写的许多代码。如果要“认真”执行此操作,请查找用于使用货币值的现有库,可能是支持区域设置的库。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章