当前位置: 首页 > 知识库问答 >
问题:

如何将String转换为Long而不丢失前导零[重复]

茹高义
2023-03-14

在我的Web服务方法中,我有一个类型为Long的输入。我应该在左侧添加两个零,所以我将其转换为String并将两个零合并,然后我应该再次转换为Long,我发现java中的Long类型忽略了左零。如何在Long值中保持左零?

Long a=58451236;
String b= "00"+String.valueOf(a);
Long c = Long.parseLong(b); // ==> Excepected value : 0058451236, found c= 58451236

共有3个答案

祁权
2023-03-14

long不能将前导值设为0。我不知道您的用例,但如果您想将00作为前导值,请不要将其转换回long,而是使用String。

赏逸春
2023-03-14

您不能这样做,因为长的没有前导零。

您可以使用String存储它,如下所示String.format("d", long Value);

吉俊德
2023-03-14

您不知道,Long/long/intger/int是一个数字,一个数字没有前导零。只有数字的字符串表示形式可能有前导零。

如果您绝对需要前导零,并且数字0001与001不同,那么您不是在处理数字,而是处理看起来像数字的字符串,您首先不应该将其转换为长。

 类似资料:
  • 我正在编写一个jenkins管道,我需要将String参数转换为Long值。 我已经使用Long.value,Long.parse。我得到这个错误消息: Hudson . remoting . proxy exception:groovy . lang . missingmethodexception:没有方法的签名:java.lang.Class.parseLong()适用于参数类型:(java

  • 考虑此代码段: 在我的机器上运行这个会打印两个转换的。但是和只能是吗? 据我所知,这是一个扩展的原语转换,规范中说: 拓宽的基元转换不会丢失有关数值的整体大小的信息。 以及 将int或long值加宽为float或将long值加宽为double可能会导致精度损失 据我所知,上述规范意味着将始终成为,但可以转换为其他内容(例如或类似内容)。我的规格解释正确吗?

  • 问题内容: 以下代码存在问题: 是,是。在不丢失信息的情况下,在这两种数字类型之间进行转换以使用编码器和解码器的唯一方法是吗? 注意,在您的典型情况下,我不尝试直接进行数值转换。我更关心维护随机数生成器的统计属性。 问题答案: 看到-1与以32位运行的进程一致。 例如,请参阅Go1.1发行说明(已引入) 使用可以帮助您查看发生了什么 事实证明,OP实战程序([在注释中]确认它最初以32位运行(因此

  • Code A可以将长值转换为日期值,就像2018.01.10一样 > 我希望得到日期时间值 ,如 2018.01.10 23:11,我该如何使用 Kotlin? 我希望将当前时间转换为长值,我该如何使用Kotlin? 谢谢! 代码A

  • 长话短说(Java): convert的值现在为:888 0747 如何将字符串解析为长字符串,但保留前导零?

  • 问题内容: 我正在使用A 将Json从Web转换为字符串。 这可能很简单,但是我似乎无法将此字符串转换为。 我怎样才能做到这一点? 问题答案: 请参阅文档和示例。