此函数通过首先构造一个类型为basic_istream::sentry
的对象(noskipws
设置为 false
)来访问输入序列。然后(如果 sentry
对象是 true
),它调用money_get::get
(使用流的所选地区)来执行提取和解析操作,并相应地调整流的内部状态标志。
最后,它在返回之前销毁 sentry
对象。
它用于从应用程序于输入流的字符中提取字符,并将它们解释为货币表达式,存储为mon
的值。
声明
以下是 std::get_money
函数的声明。
参数
mon
− 存储货币值的对象,moneyT
应该是long double
或者basic_string
的一个实例。intl
−true
表示国际化,否则为false
。这在内部用于实例化适当的多用途类。
示例
例在下面的例子中说明了 get_money
函数的用法。
#include <iostream>
#include <iomanip>
int main () {
long double price;
std::cout << "Please, enter the price: ";
std::cin >> std::get_money(price);
if (std::cin.fail()) std::cout << "Error reading price/n";
else std::cout << "The price entered is: " << price << '/n';
return 0;
}
编译和运行上面的程序,将产生以下结果 -
Please, enter the price: 100
The price entered is: 100