C ++控制台输出中的上标

时间:2010-10-27 22:51:40

标签: c++ superscript

我希望我的程序输出“cm 2 ”(cm平方)。

如何制作上标2?

7 个答案:

答案 0 :(得分:17)

正如Zan所说,这取决于标准输出支持的字符编码。如果它支持Unicode,则可以使用²(U+00B2)的编码。如果它支持源文件和标准输出的相同Unicode编码,则可以将其嵌入到文件中。例如,我的GNU / Linux系统都使用UTF-8,所以这很好用:

#include <iostream>

int main()
{
    std::cout << "cm²" << std::endl;
}

答案 1 :(得分:5)

这不是C ++可以独立完成的事情。

您需要使用控制台系统的特定功能。

我不知道有任何控制台或终端实现超级脚本。我可能错了。

答案 2 :(得分:3)

为了制作二次方程求解器,我试图完成这项任务。在ax²内写入cout <<,只需在源代码中正确显示键入253时按住ALT,但不要在控制台中显示。运行程序时,它显示为浅色矩形而不是上标2.

对此的一个简单解决方案似乎是将整数253作为char进行转换,就像这样...... (char)253

因为我们的教授不鼓励我们使用“魔法数字”,所以我将其宣称为常数...... const int superScriptTwo = 253; //ascii value of super script two

然后,在我希望上标2出现在控制台中的地方,我将变量转换为char,就像这样...... cout << "f(x) = ax" << (char)superScriptTwo << " + bx + c";,它显示得很完美。

或许只是将它创建为char开始就更容易了,而不用担心将其转换为它。此代码还将在编译时将超级脚本2打印到控制台,并在运行Windows 7的Lenovo上的VS2013中运行...

char ssTwo = 253;
cout << ssTwo << endl;

我希望有人会觉得这很有用。这是我的第一篇文章,所以如果我不小心违反任何Stack Overflow协议来回答5年前发布的问题,我会提前道歉。任何此类事件都不是故意的。

答案 3 :(得分:2)

是的,我同意赞。

Basic C ++没有任何内置功能来打印上标或下标。您需要使用任何其他UI库。

答案 4 :(得分:2)

std::cout << cm\x00B2; 写 cm^2。

答案 5 :(得分:0)

对于超级脚本或子脚本,您需要使用字母或数字的ascii值。

例如:针对x²的超级脚本2我们需要获得ascii value of super script of 2(在谷歌搜索),即 - 253。要输入ascii字符,你必须在这里alt + 253,你可以写一个任意数字,但在这种情况下它是253。

如: - cout<<"x²";

所以,现在它应该在黑屏上显示

答案 6 :(得分:-1)

为什么不尝试ASCII?
声明一个字符并给它一个ASCII值253,然后打印该字符 所以你的代码应该是这样的;

char ch = 253;
cout<<"cm"<<ch;

这肯定会打印cm 2