C++ 中的上标控制台输出
我想让我的程序输出“cm2”(厘米平方)。
如何制作上标2?
I'd like to have my program output "cm2" (cm squared).
How do make a superscript 2?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我想让我的程序输出“cm2”(厘米平方)。
如何制作上标2?
I'd like to have my program output "cm2" (cm squared).
How do make a superscript 2?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
正如 Zan 所说,这取决于您的标准输出支持的字符编码。如果它支持 Unicode ,您可以使用 ²(U+00B2< 的编码/a>)。如果它支持源文件和标准输出相同的 Unicode 编码,则可以将其嵌入到文件中。例如,我的 GNU/Linux 系统对两者都使用 UTF-8,因此效果很好:
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:
这不是 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.
我试图完成这项任务是为了制作一个二次方程求解器。通过在按住 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 打印到控制台......我希望有人会发现这很有用。这是我的第一篇文章,所以如果我不小心违反了任何 Stack Overflow 协议来回答 5 年前发布的问题,我会提前道歉。任何此类事件的发生都不是故意的。
I was trying to accomplish this task for the purpose of making a quadratic equation solver. Writing
ax²
inside acout <<
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...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.
std::cout <<厘米\x00B2;
写为cm^2。
std::cout << cm\x00B2;
writes cm^2.
是的,我同意赞的观点。
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.
对于超级脚本或下脚本,您需要使用字母或数字的 ascii 值。
例如:x² 的超级脚本 2 我们需要获取 2 的超级脚本的 ascii 值(在 google 中搜索),即 -
253
。要输入 ascii 字符,您必须在此处执行alt + 253
,您可以编写任何数字,但在本例中为 253。例如:-
cout<<"x²";
所以,现在它应该在黑屏上显示
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 doalt + 253
here, you can write a any number, but its 253 in this case.Eg:-
cout<<"x²";
So, now it should display
x²
on the black screen.为什么不试试 ASCII 呢?
声明一个字符并为其指定 ASCII 值
253
,然后打印该字符。所以你的代码应该是这样的;
这肯定会打印 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;
This will definitely print cm2.