7

我想让我的程序输出“cm 2 ”(平方厘米)。

如何制作上标2?

4

7 回答 7

19

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

#include <iostream>

int main()
{
    std::cout << "cm²" << std::endl;
}
于 2010-10-27T23:03:05.280 回答
5

This is not something C++ can do on its own.

You would need to use a specific feature of your console system.

I am not aware of any consoles or terminals that implement super-script. I might be wrong though.

于 2010-10-27T22:55:41.243 回答
3

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

一个简单的解决方案似乎是将整数 253 转换为字符,就像这样(char)253......。

因为我们的教授不鼓励我们使用“幻数”,所以我将其声明为常量变量…… const int superScriptTwo = 253; //ascii value of super script two

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

也许将它作为char开始创建它更容易,而不用担心铸造它。此代码还将在运行 Windows 7 的联想上的 VS2013 中编译和运行时将超级脚本 2 打印到控制台...

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

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

于 2016-04-01T19:49:15.330 回答
2

是的,我同意赞。

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

于 2010-10-27T23:02:40.650 回答
2

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

于 2021-04-10T19:38:59.667 回答
0

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

例如: x² 的 Super scripting 2 我们需要获取ascii value of super script of 2(在 google 中搜索)即 - 253。要在alt + 253此处输入 ascii 字符,您可以输入任意数字,但在本例中为 253。

例如:-cout<<"x²";

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

于 2015-10-11T14:54:47.300 回答
-2

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

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

这肯定会打印 cm 2

于 2016-09-06T16:59:57.640 回答