在C编程语言中,我可以使用printf
来显示一个字符及其十进制等效项,代码如下
char c='e';
printf( "decimal value: %d char value: %c\n",c,c);
如何使用cout
在C ++中执行相同的操作?例如,以下代码显示字符,但如何让cout
打印小数值?
char c='e';
cout << c;
答案 0 :(得分:9)
cout << +c;
一元+
强制转换操作符会将char
隐式转换为int
。
来自 5.3.1一元运算符又名expr.unary.op
[7]一元+运算符的操作数应该有算术运算, unscoped枚举,或指针类型,结果是值 争论。 整体推广是对积分或 枚举操作数。结果的类型是 推广操作数。
进一步阅读:
答案 1 :(得分:8)
将c
投放到int
的最佳C ++方式是static_cast< int >( c )
。
答案 2 :(得分:4)
您可以将字符转换为int以获取C ++中的十进制值,例如
char c='e';
std::cout << "Decimal : " << (int)c << std::endl;
std::cout << "Char : " << c;
通过执行(int)c
,您可以暂时将其转换为int并获取小数值。
此过程称为type casting。