java - 转换为 char 数组后 Long 变量出现意外值

标签 java char long-integer

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/

相关文章:

java - 在不重启服务器的情况下部署到 tomcat7

java - 无法将数据解析到recyclerview中

c - 打印字符串直到出现特定字符

java - long 和 double 每次都工作的时候,为什么 Java 中的数字类型那么多?

C# - 列表 Sum() OverflowException : Arithmetic operation resulted in an overflow

java - 业务逻辑数据无法使用 Spring Batch(和 Spring-Admin)持久保存

java - 如何调用这个类?

c - Visual Studio 中的“Ì' or '\0”为空

Java:将每个字母转换为数字,例如a = 1,b = 2,c = 3

java - 如何在 java ArrayList<Long> 中进行二进制搜索?