【问题标题】:Cast String into BigInteger [duplicate]将字符串转换为 BigInteger [重复]
【发布时间】:2016-05-13 13:20:34
【问题描述】:

我正在尝试转换一个字符串,该字符串旨在成为我的 mysql 数据库中键 ID 的 BigInteger 以供以后调用。我的 JAVA 不是最好的,我似乎找不到解决方案将我的字符串转回 BigInt 而不会出现任何错误。有人可以帮忙吗?

String getWPU(final HttpServletRequest request, final HttpServletResponse    response) {
    BigInteger identifier = null
    def wpu = request.getParameter('slip')
    if (wpu?.size() > 0) {
        LOG.debug('using ID as user identifier: {}', wpu)
        identifier = new BigInteger(wpu);
    }


    identifier
}

我正在尝试遵循解决方案,但没有得到预期的结果。我今天感觉有点傻。请让我摆脱我的痛苦。这是我的下一次阅读尝试:

    def wpu = request.getParameter('slip')
    if (wpu?.size() > 0) {
        LOG.debug('using wordpress slip as user identifier: {}', wpu)

    }

    BigInteger identifier = new BigInteger(wpu);
    identifier

使用 Maven 安装 JAVA 项目时出现以下错误。

无法将具有类“java.lang.String”的对象“124”转换为类 'java.math.BigInteger'

编辑解决方案是这样的,如重复答案中所述,但适用于我的用例:

   def wpu = request.getParameter('slip')
    if (wpu?.size() > 0) {
        LOG.debug('using wordpress slip as user identifier: {}', wpu)

    }
    BigInteger identifier = new BigInteger(0);
    identifier.add(new BigInteger(wpu));
    identifier

【问题讨论】:

  • 强制转换为 BigInteger 的字符串 没有意义。您不能将字符串强制转换为 BigInteger。你想用一个代表数字的字符串制作一个 BigInteger 吗?
  • 你检查过 API 吗? BigInteger你遇到了什么错误?
  • 谢谢,是的,我的字符串实际上是一个数字。我希望从字符串类型转换回来。我也会检查API。谢谢。
  • 如果您告诉我们您遇到的错误是什么,这将真的有所帮助。
  • @Akah 我对 Groovy 不太熟悉,但我相信这是 Groovy。

标签: java mysql


【解决方案1】:

你可以尝试使用BigInteger构造函数:

BigInteger(String val)

将 BigInteger 的十进制字符串表示形式转换为 大整数。

【讨论】:

猜你喜欢
  • 2012-12-20
  • 2017-04-15
  • 2013-03-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-24
  • 2018-12-12
相关资源
最近更新 更多