winforms 如何在字符串中写入上标并使用MessageBox.Show()显示?

jm81lzqq  于 2023-01-31  发布在  其他
关注(0)|答案(3)|浏览(178)

我尝试使用消息框输出面积,它应该显示为,例如,256 unit^2...
我怎么写一个上标(幂)和一个下标(像O2表示氧)???
这个家伙在这里添加了一个上标,如(TM):
Adding a TM superScript to a string
我希望我说清楚了!提前感谢,给您带来的不便表示歉意...

7uhlpewt

7uhlpewt1#

您可以尝试使用unicode super/subscripts,例如:

var o2 = "O₂";       // or "O\x2082"
var unit2 = "unit²"; // or "unit\xB2"

如果这不起作用,恐怕你可能需要写你自己的消息框。

mepcadol

mepcadol2#

我用这个扩展名作为上标。

public static string ToSuperScript(this int number)
    {
        if (number == 0 ||
            number == 1)
            return "";

        const string SuperscriptDigits =
            "\u2070\u00b9\u00b2\u00b3\u2074\u2075\u2076\u2077\u2078\u2079";

        string Superscript = "";

        if (number < 0)
        {
            //Adds superscript minus
            Superscript = ((char)0x207B).ToString();
            number *= -1;
        }

        Superscript += new string(number.ToString()
                                        .Select(x => SuperscriptDigits[x - '0'])
                                        .ToArray()
                                  );

        return Superscript;
    }

称之为

string SuperScript = 500.ToSuperScript();
fcipmucu

fcipmucu3#

我一直在使用html字符串格式,Unity中的c#似乎可以很好地解码,并增加了更多的灵活性,然后有限的unicode下标和上标选项,即:

string To256PowerOf2String = "256<sup>2</sup>";
string H2OString = "H<sub>2</sub>O";

相关问题