【问题标题】:Android Studio PieChart convert String/float to Integer - ToastAndroid Studio PieChart 将 String/float 转换为 Integer - Toast
【发布时间】:2019-01-24 05:42:56
【问题描述】:

我想制作 PieChart,当您按下 PieChart 上您选择的字段时,您将看到图表的值(整数 15.. 等)

当“counter”的显示值显示值 15.0 时,Toast.maketext 出现问题,仅插入 15。我希望最后有没有 .0 的数字。 当我在下面尝试这个选项(转换)时,应用程序停止工作:

  • int x = Integer.parseInt(counter);
  • int x = Integer.valueOf(counter)
  • try{ x = Integer.parseInt(counter)} catch(NumberFormat Exception nfe){}

我的代码:

pieChart.setOnChartValueSelectedListener(new OnChartValueSelectedListener() {
        @Override
        public void onValueSelected(Entry e, Highlight h) {
            Log.d(TAG, "onValueSelected: Value select from chart.");
            Log.d(TAG, "onValueSelected: " + e.toString());
            Log.d(TAG, "onValueSelected: " + h.toString());


            int pos1 = e.toString().indexOf("y: ");
            String counter = e.toString().substring(pos1 + 3);

            for(int i = 0; i < yData.length; i++){
                if(yData[i] == Float.parseFloat(counter)){
                    pos1 = i;
                    break;
                }

            }
                    String days = xData[pos1];
                    /*
                       1.)  int x = Integer.parseInt(counter);
                    2.) int x = Integer.valueOf(counter)
                     3.)try{ x = Integer.parseInt(counter)}
                    catch(NumberFormat Exception nfe){}
                    */

            Toast.makeText(Main2Activity.this,  days+ " Day" + "counter" + x, Toast.LENGTH_LONG).show();
            //Toast.makeText(Main2Activity.this,  days+ " Day" + "counter" + counter, Toast.LENGTH_LONG).show();
            //add counter to Toast if you want to show counter
        }

        @Override
        public void onNothingSelected() {

        }
    });

谢谢你的回答:)

【问题讨论】:

    标签: android android-studio integer pie-chart converters


    【解决方案1】:

    你可以试试

    System.out.print(String.format("%1.0f", counter));

            Toast.makeText(Main2Activity.this,  days+ " Day" + "counter" + String.format("%1.0f", counter), Toast.LENGTH_LONG).show();
    

    【讨论】:

    • 不工作,在手机模拟器上获取文本:不幸的是 PicChart 已经停止工作。
    【解决方案2】:

    现在我是这样解决的:

    Log.d(TAG, "onValueSelected: counter num " +counter);
                for(int i = 0; i < yData.length; i++){
                    if(yData[i] == Float.parseFloat(counter)){
                        pos1 = i;
                        break;
                    }
    
                }
                String days = xData[pos1];
    
                switch (pos1) {
                    case 0:
                        Toast.makeText(Main2Activity.this, days + " Day " + "\n" + "Numbers " +numberBad, Toast.LENGTH_SHORT).show();
                        break;
                    case 1:
                        Toast.makeText(Main2Activity.this, days + " Day " + "\n" + "Numbers " +numberGod, Toast.LENGTH_SHORT).show();
                        break;
                    case 2:
                        Toast.makeText(Main2Activity.this, days + " Day " + "\n" + "Numbers " +numberNor, Toast.LENGTH_SHORT).show();
                        break;
                    default:
                        break;
                }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-05
      • 2019-12-06
      • 2010-09-06
      • 2011-02-07
      • 2022-09-30
      相关资源
      最近更新 更多