1.长数=564;
2、字符串str = 数字+"";
3. char[] num = str.toCharArray();
4. 数字 = 数字 - num[0];
/* number的值为511 */
我正在尝试使用这段代码从数字中减去数字的第一位数字。
在调试过程中,我发现 num[0] 的值为 53。谁能解释一下我在这里缺少什么。
最佳答案
我建议您将第四行更改为:
number = number - Long.parseLong(Character.toString(num[0]));
基本上,这里发生的事情是我首先将 char
(num[0]
) 转换为字符串,然后将字符串解析为 long
.
或者,您甚至不需要将字符串转换为字符数组!使用 charAt()
获取字符:
number = number - Long.parseLong(Character.toString(str.charAt(0)));
关于java - 转换为 char 数组后 Long 变量出现意外值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39910495/