java - 无法从 String 转换为 float

标签 java android string

<分区>

我有一个问题。当我从 View 中获取一些值并尝试将其解析为 float 时,例如 2.1234567 没问题,但是当该值不再时,什么也没有发生。

private View.OnClickListener buttonListenerNumber = new View.OnClickListener() {
    @Override
    public void onClick(View view) {

        numberAsString += ((Button)view ).getText().toString();

        if(signStatus)
        {
            dotStatus = false;
            secondNumber = Float.parseFloat(numberAsString);
            textView.setText(Float.toString(secondNumber));
        }else
        {
            firstNumber = Float.parseFloat(numberAsString);
            textView.setText(Float.toString(firstNumber));
        }

        if(firstNumber != 0 && secondNumber != 0 && secendSignStatus || equalStatus )
        {
            try{
                takeAction(lastSign);
            }catch (Exception e)
            {
                textView.setText(String.valueOf(NAN));
            }

        }
    }
};

当我调试时它看起来像这样 enter image description here

最佳答案

为避免修剪,请改用 Double.parseDouble(String)

float 有较小尺寸(4 字节)的限制,所以它不适合大的小数,double 有两倍的尺寸(8 字节)

关于java - 无法从 String 转换为 float,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48485907/

相关文章:

python - 如何根据条件python查找字符串中字母的位置

android - 删除填充或强制拟合或从方形矢量 Assets 中删除空白空间以适应矩形按钮?

java - 仅当在 SD 卡中写入文件时,无法将 RandomAccessFile 文件用于读写模式

java - 如何在 mule 中使用 maven 构建时将 Maven 存储库添加到 zip 文件中

Java:强制实现覆盖 toString 的设计接口(interface)

android - Dispatchers.IO协程线程

c# - 如何在 C# 中从字符串调用委托(delegate)?

C# - 需要由一个且只有一个逗号分隔的字符格式的字符串

java 8 Hibernate org.hibernate.MappingException : Unknown entity:

java - 在 while 循环中将文件同步到服务器