【问题标题】:ParseFloat String Java [duplicate]ParseFloat String Java [重复]
【发布时间】:2019-01-08 15:42:24
【问题描述】:

我有这个 String -> "100,24" 我想加入 var Java 类型 float

但是当我进行解析时,我得到了错误。

article.cost((Float.parseFloat(array.get(y))));

我需要帮助,亲爱的。

【问题讨论】:

  • 错误信息是什么?
  • 请重新表述问题以使其有意义,并包含任何错误消息。
  • 十进制符号应为.
  • 错误是输入字符串:。在我的国家,“十进制”与“,”
  • @EduBw 这就是我编辑答案的原因。

标签: java


【解决方案1】:

数字格式必须包含点(.)而不是逗号(,)。这就是你得到例外的原因。但是,您也可以使用parseFloat 和String 的replace 方法通过逗号转换float。

class NumberTest {
    public static void main(String[] args) {
        String y = "100,24";
        float num = Float.parseFloat(y.replace(',','.'));
        System.out.println(num);
    }
}

【讨论】:

  • 正确,非常感谢
【解决方案2】:

您的问题是逗号“100,24”,该字符串不是有效的浮点数。因此,如果您尝试将其转换为 1,则会引发错误。但是,如果这是您想要解决问题的“100.24”,因为这是一个有效的浮点类型。

所以你要做的就是用 '.' 替换 ','然后尝试转换。即

String floatStr = "100,24".replace(",", "."); // Change to a correct float value
float newFloat = Float.parse(floatStr); // parse and get your new float

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多