【发布时间】:2021-07-10 17:37:27
【问题描述】:
所以我的理解是,例如,如果我有一个 int a = 49 并想找出与之等效的 ASCII,我需要做的就是:
int a = 49;
System.out.println((char)a);
输出:1.
但是我怎样才能做到这一点呢?那么假设我有 int a = 1 并且我希望输出为 49?
我已经尝试过类似的东西:
int a = 1;
System.out.println ((char)a);
但是这里的输出是“.”而不是 49。
【问题讨论】:
-
您可能希望将
1用作char,这意味着'1'。 -
好的,但是如果我给了一个值为 1 的 int,我如何将它变成一个值为“1”的 char?
-
由于 Unicode 表中的数字字符按 0 到 9 的顺序排列,您只需使用
a下的数字即可从'0'字符a移动次数。例如'0' + 0将返回'0'的索引。'0' + 1将返回'1'的索引。您需要对该索引做的就是将其转换回char。所以你可以写像int a = 1; char ch = (char)('0'+a);这样的东西。 -
你也可以用更简单的方法:)
char ch = Character.forDigit(a, 10);.