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

发布于 2024-09-29 05:59:46 字数 56 浏览 3 评论 0原文

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

如何制作上标2?

I'd like to have my program output "cm2" (cm squared).

How do make a superscript 2?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

远昼 2024-10-06 05:59:46

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

#include <iostream>

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

As Zan said, it depends what character encoding your standard output supports. If it supports Unicode , you can use the encoding for ²(U+00B2). If it supports the same Unicode encoding for source files and standard output, you can just embed it in the file. For example, my GNU/Linux system uses UTF-8 for both, so this works fine:

#include <iostream>

int main()
{
    std::cout << "cm²" << std::endl;
}
绿光 2024-10-06 05:59:46

这不是 C++ 本身可以做到的事情。

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

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

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.

晨与橙与城 2024-10-06 05:59:46

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

对此的一个简单解决方案似乎是将整数 253 转换为字符,如下所示... (char)253

因为我们的教授不鼓励我们使用“幻数”,所以我将其声明为常量变量... const int superScriptTwo = 253; //上标二的ascii值.

然后,我希望上标 2 出现在控制台中,我将变量转换为 char ,如下所示......
<代码>cout << “f(x) = ax”<< (char)superScriptTwo << " + bx + c"; 并且它显示得很完美。

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

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

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

I was trying to accomplish this task for the purpose of making a quadratic equation solver. Writing ax² inside a cout << by holding ALT while typing 253 displayed properly in the source code only, BUT NOT in the console. When running the program, it appeared as a light colored rectangle instead of a superscript 2.

A simple solution to this seems to be casting the integer 253 as a char, like this... (char)253.

Because our professor discourages us from using 'magic numbers', I declared it as a constant variable... const int superScriptTwo = 253; //ascii value of super script two.

Then, where I wanted the superscript 2 to appear in the console, I cast my variable as a char like this...
cout << "f(x) = ax" << (char)superScriptTwo << " + bx + c"; and it displayed perfectly.

Perhaps it's even easier just to create it as a char to begin with, and not worry about casting it. This code will also print a super script 2 to the console when compiled and run in VS2013 on my Lenovo running Windows 7...

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

I hope someone will find this useful. This is my first post, ever, so I do apologize in advance if I accidentally violated any Stack Overflow protocols for answering a question posted 5+ years ago. Any such occurrence was not intentional.

时光礼记 2024-10-06 05:59:46

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

std::cout << cm\x00B2;
writes cm^2.

開玄 2024-10-06 05:59:46

是的,我同意赞的观点。

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

Yes, I agree with Zan.

Basic C++ does not have any inbuilt functionality to print superscripts or subscripts. You need to use any additional UI library.

三岁铭 2024-10-06 05:59:46

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

例如:x² 的超级脚本 2 我们需要获取 2 的超级脚本的 ascii 值(在 google 中搜索),即 - 253。要输入 ascii 字符,您必须在此处执行 alt + 253,您可以编写任何数字,但在本例中为 253。

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

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

For super scripting or sub scripting you need to use ascii value of the letter or number.

Eg: Super scripting 2 for x² we need to get the ascii value of super script of 2 (search in google for that) ie - 253. For typing ascii character you have to do alt + 253 here, you can write a any number, but its 253 in this case.

Eg:-cout<<"x²";

So, now it should display on the black screen.

手心的海 2024-10-06 05:59:46

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

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

这肯定会打印 cm2

Why don't you try ASCII?
Declare a character and give it an ASCII value of 253 and then print the character.
So your code should go like this;

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

This will definitely print cm2.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文