Как мне удалить .0 из Float - PullRequest
       8

Как мне удалить .0 из Float

0 голосов
/ 16 октября 2019

Вот код:

 private fun setData(playerData: TreeMap<String, String>) {
    val values = ArrayList<Entry>()
    val graphData = java.util.ArrayList<Float>()
    for (value in playerData.values) {
        graphData.add(value.toInt().toFloat()) # <-- converting here
    }
    graphData.reverse()

    for (i in 0 until graphData.size) {

        val itemi = i.toFloat()
        values.add(
            Entry(
                itemi, #<-- entering here directly
                graphData[i],
                resources.getDrawable(R.drawable.ic_cricket)
            )
        )
    }

    val set1: LineDataSet
    set1 = LineDataSet(values, "Player Form Graph")
    val dataSets = ArrayList<ILineDataSet>()
   // Possible Solution?
    val valueFormatter = IValueFormatter { value, _, _, _ ->
        value.toInt().toString()
    }
    set1.valueFormatter = valueFormatter as ValueFormatter?
    dataSets.add(set1)
    val data = LineData(dataSets)
 // set data
    binding.chart1.data = data

}

Ошибка: java.lang.ClassCastException: <id>DemoFragment$setData$valueFormatter$1 cannot be cast to com.github.mikephil.charting.formatter.ValueFormatter

Дело в том, что некоторые значения работают без .0, а некоторые с .0

enter image description here enter image description here

Ответы [ 2 ]

1 голос
/ 16 октября 2019

это то, что я использовал:

set1.valueFormatter = object : ValueFormatter() {
            override fun getFormattedValue(value: Float): String {
                return value.toInt().toString()
            }
        }

В случае, если есть вероятность того, что значение будет также десятичным, скажем, [1, 1.2, 3, 3.5] ваш набор, затем перейдите к:

set1.valueFormatter = object : ValueFormatter() {
            override fun getFormattedValue(value: Float): String {
                return DecimalFormat("#.#").format(value)
            }
        }

в вышеприведенном случае #.# можно заменить на #.##, если вы хотите показать десятичные разряды UPTO 2 и т. Д.

0 голосов
/ 16 октября 2019

Использование:

DecimalFormat df = new DecimalFormat( "0" );
...