已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
六年前关闭了。
Improve this question
我有字符串数据类型java的3.0.1和3.0.2,现在我想检查哪个值更大,因此我使用Float.parseFloat(str)
将这两个值转换为float。
但它抛出了一个数字格式异常。
有人帮忙吗?
已关闭。此问题需要超过focused。当前不接受答案。
**想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。
六年前关闭了。
Improve this question
我有字符串数据类型java的3.0.1和3.0.2,现在我想检查哪个值更大,因此我使用Float.parseFloat(str)
将这两个值转换为float。
但它抛出了一个数字格式异常。
有人帮忙吗?
3条答案
按热度按时间relj7zay1#
3.0.1和3.0.2不是数字,它们只能作为字符串进行比较。这就是为什么会出现数字格式异常。
zi8p0yeb2#
像这样逐个检查每个数字
p4rjhz4m3#
3.0.1
不是一个数字,它基本上是一个由句点分隔的数字序列。一种想法是创建一个类来表示这个版本号,我们将版本代码
3.0.1
解释为一个由句点分隔的数字序列;基本上是一个int
的数组。我们可以用句点字符分割输入字符串,得到版本号的组成部分。在版本号中,每个整数都可以称为“组成部分”。版本号3.0.1
有三个组成部分:x一米四氮一x、x一米五氮一x和x一米六氮一x。一旦我们创建了两个
Version
示例,我们就可以将它们相互比较,比较如下:对于Version
示例具有的每个组件,该组件将与另一版本中相同位置处的组件匹配。