gpt4 book ai didi

java - 从 char 到 int : why (int)givenString. 的转换 charAt(2) 给出 48 with givenString = "11001"?

转载 作者:行者123 更新时间:2023-11-29 04:13:21 25 4
gpt4 key购买 nike

这是我的问题:我想使用以下代码将 char 转换为 int 从字符串:

String s = "11001";
int charAt2 = (int)s.charAt(2); //Why this gives 48 ???
System.out.println("charAt2 = "+charAtI);

我在终端上得到:48。为什么?这就是我想了解的。

感谢 dasblinkenlight 的链接 type conversions,我已经在 Stack Overflow 上找到了解决我的问题的好办法.正如我认为它对其他人有用一样,这里是完美运行的固定版本。我使用方法 Character.digit( char c, int i) 从基数 i 中的 char c 中给出一个 int 来执行转换。

String s = "11001";
int charAt2 = Character.digit(s.charAt(2), 2); //radix 2 here
System.out.println("charAt2 = "+charAt2);

在终端上:0。这有效。

最佳答案

char 只是一个较小的 int,带有花哨的打印。当您将它转换为 int 时,您将失去这种花哨的打印方式,而只打印字符的 Unicode 值。 字符0的unicode值为48。

关于java - 从 char 到 int : why (int)givenString. 的转换 charAt(2) 给出 48 with givenString = "11001"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53805116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com