【问题标题】:Error while converting the String to float.(NumberFormatException) [duplicate]将字符串转换为浮点数时出错。(NumberFormatException)[重复]
【发布时间】:2016-08-07 06:49:06
【问题描述】:

你能告诉我如何在android中实现这一点吗:

String 转换为float,如下所示:

String temp="1,000,00"

float f=100f

我已经浏览了链接。得到这个异常:

java.lang.NumberFormatException: Invalid float: ""

【问题讨论】:

  • 欢迎来到 SO!请先浏览我们的How to Ask 页面!
  • 使用 if(!TextUtils.isEmpty("your string") 做某事检查字符串是否为空
  • 请出示您的代码。字符串是空的,肯定哪里有问题......

标签: java android string floating-point


【解决方案1】:

你有没有这样尝试过:

String s = "100";
float f = Float.parseFloat(s);

并确保您正在解析的字符串确实是 float 而不是 nullempty

【讨论】:

  • 是的,它给了我价值 f=100.0 ..我希望这个价值是 f=100f
  • 你为什么想要那个?
  • 也许 OP 想要格式化该字符串,使其看起来像 float :D
  • @SagarGangawane 100f 在技术上与100.0 相同。 100f 只是告诉编译器这是 float 不是 int 的一种方式。
  • 感谢您的回复,但该方法不接受该值它给了我提到的例外。
【解决方案2】:

您应该使用 Float 类的 parseFloat 方法。

听起来问题出在您使用的实际字符串上 - 您可以发布吗?

【讨论】:

  • for (String y:years) { float f = Float.parseFloat(y); Log.e(TAG,"浮点值\n"+ f + "字符串值"+ y); }
  • 请将其作为您问题的一部分发布,而不是作为评论...
  • 此时“y”中有什么(使用调试器)?
【解决方案3】:

使用Float 类。

// String to Float 
float temp = Float.parseFloat("100f");

// Float to String: 
String str = Float.toString(100.0f);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-06
    • 2011-11-25
    • 1970-01-01
    • 1970-01-01
    • 2018-07-22
    • 2017-05-09
    • 2016-01-30
    • 2020-08-06
    相关资源
    最近更新 更多