当我们从另一个char整数中减去一个char整数会发生什么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了当我们从另一个char整数中减去一个char整数会发生什么?相关的知识,希望对你有一定的参考价值。
以下代码是使用递归将String转换为Integer的一种方法。我了解此过程,但无法确定执行此操作时会发生什么情况:
str.charAt(0) - '0'
我们可以使用parseInt或parseDouble将其轻松转换为int或double。那么,为什么要从字符串(这是一个数字)中减去一个char'0'?这如何将我们的字符转换为int或double?
// Java implementation of the approach to convert a String to an Integer using Recursion
public class GFG {
// Recursive function to convert string to integer
static int stringToInt(String str)
{
// If the number represented as a string
// contains only a single digit
// then returns its value
if (str.length() == 1)
return (str.charAt(0) - '0');
// Recursive call for the sub-string
// starting at the second character
double y = stringToInt(str.substring(1));
// First digit of the number
double x = str.charAt(0) - '0';
// First digit multiplied by the
// appropriate power of 10 and then
// add the recursive result
// For example, xy = ((x * 10) + y)
x = x * Math.pow(10, str.length() - 1) + y;
return (int)(x);
}
// Driver code
public static void main(String[] args)
{
String str = "1235";
System.out.print(stringToInt(str));
}
}
答案
[0的ASCII是48,'1'是49,直到'9'是57,所以通过从'0'中减去数字字符,您将得到十进制数ASCII_Table
以上是关于当我们从另一个char整数中减去一个char整数会发生什么?的主要内容,如果未能解决你的问题,请参考以下文章