5

因此,我正在使用 NetBeans IDE(Java 中)制作一个基本的 GUI,并且我想制作一个带有 √ 符号的按钮。它没有让我复制粘贴它,所以我尝试使用它的 ASCII 码 - char sqrt = (char) 251。然而,它给了我“û”而不是平方根符号,我不知道为什么。有人可以解释为什么会发生这种情况,并就我应该如何解决这个问题提供一个想法吗?

4

2 回答 2

4

Java 字符是 Unicode,而不是 ASCII。Unicode 代码点 251 ( U+00FB ) 是“带有 Circumflex 的拉丁小写字母 U”。为了使用仅包含基本 ASCII 符号的字符集来输入各种 Unicode 字符,Java 提供了一种使用文字格式输入 Unicode 字符的方法。所以,你可以这样做:

char sqrt = '\u221a';

因为U+221A是平方根符号的 Unicode 代码点。

此 \uXXXX 格式也可用于字符串文字:

String s = "The square root of 2 (\u221a2) is approximately 1.4142";

如果您打印该字符串,您将看到

The square root of 2 (√2) is 1.4142
于 2012-08-16T20:29:17.673 回答
3

Java 使用 Unicode,'√' 的 Unicode 值是 8730。所以,应该这样做:

char sqrt = 8730;
于 2012-08-16T20:28:37.980 回答