【问题标题】:how can i get the Unicode infinity symbol converted to String如何将 Unicode 无穷大符号转换为字符串
【发布时间】:2012-06-04 03:12:42
【问题描述】:

我想在java中使用无穷大符号(横着8个)。

此外,我想将其用作字符串组件。
我没有找到适用的 charcode/ascii 代码(有吗?)。

我试过了:

String s=Character.toString(236);
String s=Character.toString('236');

我错过了什么吗?

我现在明白了:

System.out.println(Character.toString('\u221E'));

但输出是?

我正在使用 java 1.7 jdk 和 eclipse。为什么无穷大符号没有出现?

【问题讨论】:

    标签: java string numbers


    【解决方案1】:

    您需要 Unicode 无穷大符号 U+221E。 236 是一种 Windows 输入约定,对您没有任何帮助。 '\u221e' 是字符常量。

    现在,我不能保证这会在您的屏幕上显示任何 ∞ 个字符。这取决于您拥有的计算机类型、您使用的字体以及您在 -Dfile.encoding 中设置的内容。另见this question

    【讨论】:

    • 使用这个我收到?。默认情况下不能显示无穷大符号?如果是这种情况,问题就过时了,因为我的老师将在他自己的电脑上编译代码,从而产生相同的默认输出(如果是默认输出)
    【解决方案2】:

    我知道这是很晚的回复,但以下信息肯定会对某人有所帮助。

    Eclipse中默认控制台的文本文件编码是Cp1252,那么

    How to support UTF-8 encoding in Eclipse

    我会鼓励处理String 中的infinity 符号,如下图所示:

    String infinitySymbol = null;
    
    try {
    
        infinitySymbol = new String(String.valueOf(Character.toString('\u221E')).getBytes("UTF-8"), "UTF-8");
    
    } catch (UnsupportedEncodingException ex) {
    
        infinitySymbol = "?";
        //ex.printStackTrace(); //print the unsupported encoding exception.
    
    } finally {
    
        System.out.print("Symbol of infinity is : " + infinitySymbol);
    
    }
    

    【讨论】:

      猜你喜欢
      • 2013-01-30
      • 1970-01-01
      • 2011-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      • 2019-05-20
      相关资源
      最近更新 更多