如果字符已经是java中的数字,则将字符转换为整数

发布于 2024-10-19 23:40:04 字数 281 浏览 1 评论 0原文

我正在尝试读取字符串的字符来获取数值。 String 卡号 = in.next();

  int currentIndex = cardNumber.length() - 1;
  while (currentIndex >= 0)
    {

      int smallValue;
      smallValue = Character.getNumericValue(currentIndex);

当smallValue运行时,它没有给我这个数字。只是一个-1

I'm trying to read a string's character to get the numeric value.
String cardNumber = in.next();

  int currentIndex = cardNumber.length() - 1;
  while (currentIndex >= 0)
    {

      int smallValue;
      smallValue = Character.getNumericValue(currentIndex);

when smallValue runs, its not giving me the number. just a -1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

三生池水覆流年 2024-10-26 23:40:04

您应该使用Character.digit(),但是您使用数组索引而不是该索引处的元素值来调用它。

You should be using Character.digit(), but you are calling it with the array index instead of the element value at that index.

孤寂小茶 2024-10-26 23:40:04

您正在将 currentIndex 传递给 Character.getNumericValue。我认为您实际上想传递 cardNumber 的字符之一。

You are passing currentIndex to Character.getNumericValue. I think you actually want to pass one of the characters of cardNumber.

乱了心跳 2024-10-26 23:40:04

我想这就是你想要的:

int currentIndex = cardNumber.length() - 1;
while (currentIndex >= 0)
    {
         int smallValue = Character.digit(cardNumber[i], 10);
    }

I think this is what you want:

int currentIndex = cardNumber.length() - 1;
while (currentIndex >= 0)
    {
         int smallValue = Character.digit(cardNumber[i], 10);
    }
翻身的咸鱼 2024-10-26 23:40:04

假设 cardNumber 是一个 String,我相信这就是您想要的:

int smallValue = Character.digit(cardNumber.charAt(currentIndex), 10);

Assuming cardNumber is a String, I believe this is what you want:

int smallValue = Character.digit(cardNumber.charAt(currentIndex), 10);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文