Java将int转换为char不起作用

时间:2016-02-11 01:03:27

标签: java casting char int

我在Win7 Pro上使用Java 7 SE并遇到此问题: 将int转换为char无法正常工作。

有什么问题?

感谢。

>>> grad
-a*b*exp(-a*b*x)/(1 + exp(-a*b*x))
>>> simplify(grad)
-a*b/(exp(a*b*x) + 1)

2 个答案:

答案 0 :(得分:3)

char '1'与整数值1不同。它等于表示'1'的ASCII码的值。您可以找到所有ASCII值的编码here

如果要将char转换为类似的整数,则需要先从中减去'0'(字符0,而不是整数)。由于所有整数在ASCII中都是连续的,这会将所有内容都降低,以便'0'变为0'1'变为1等等。

答案 1 :(得分:0)

您可以考虑使用标准Java库中内置的一些静态方法。

例如,Integer.parseInt(String s)将获取字符串s并尝试将其转换为整数。因此Integer.parseInt(“5”)将返回5作为整数。

String.valueOf(int i)会将整数转换为其String等价物。所以String.valueOf(10)会将“10”作为字符串返回。

如果你实际上使用的是chars而不仅仅是字符串,这可能会有所帮助:https://docs.oracle.com/javase/7/docs/api/java/lang/Character.html

有像getNumericValue和isDigit这样的方法。不确定这是否正是您正在寻找的,但它可能比使用魔术数字更清晰,例如添加48来获取您正在寻找的字符。