Android,如何在不显示无限的情况下将Double Value传递给Textview?

时间:2016-02-05 01:03:44

标签: android-studio textview double tostring infinity

简短形式:我尝试将Double Value移交给带有Double.toString的textView,但textView始终显示" Infinity"而不是真正的价值。如果有值,如果它为空,则显示0.0。

下面我试图解释我的应用程序是如何构建(构建)

类:

MainActivity.java
FirstFragment.java
SecondFragment.java
Calculator.java

布局:

first_frag.xml
second_frag.xml

让我更容易理解我不会发布整个代码,因为那会很多!

基本上我在SecondFragment.java的这个部分挣扎:

public void fragmentBecameVisible() {
    String alcLevel = Double.toString(calc.getCurrentLevel());
    txtAlcLvl.setText(alcLevel);
}

Calculator.java:

public double getCurrentLevel(){
    double alcTotal = 0.0;

    if (consumption.size() > 0){
        alcHigh = consumption.get(0).getAlcTotal()/person.getDistribution();
        for (int i = 0; i < consumption.size()-1; i++){
            alcTotal += consumption.get(i).getAlcTotal()/person.getDistribution()
                    -(consumption.get(i+1).getDrinkTime()-consumption.get(i).getDrinkTime())*0.15/3;
            if (alcTotal < 0){
                alcTotal = 0.0;
            }
            if (alcHigh < (alcTotal + consumption.get(i+1).getAlcTotal()/person.getDistribution())){
                alcHigh = alcTotal + consumption.get(i+1).getAlcTotal()/person.getDistribution();
            }
        }
        alcTotal += consumption.get(consumption.size()-1).getAlcTotal()/person.getDistribution()
                -(consumption.get(consumption.size()-1).getTime()-consumption.get(consumption.size()-1).getDrinkTime())*0.15/3;

        if (alcTotal < 0){
            alcTotal = 0.0;
        }
        return alcTotal;
    }else{
        return 0.0;
    }
}

虽然你不必理解背后的整个数学,但事实上,来自second_frag.xml的textView:

            <TextView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:text="New Text"
            android:id="@+id/txtAlcLvl" />

没有显示正确的Double Value,而是显示&#34; Infinity&#34;

我在Eclipse中拥有完全相同的代码,但不知怎的,它的工作正常。

通常我会说,我在某个地方做了一些愚蠢的小失败,但实际上我现在已经找不到一个小时了,也许有人可以提供帮助,我会很感激。

0 个答案:

没有答案