如何从 Float 中删除 .0
How do I remove .0 from Float
代码如下:
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 cannot be cast to com.github.mikephil.charting.formatter.ValueFormatter
问题是有些值在没有 .0 的情况下也有效,有些值在有 .0 的情况下有效
使用:
DecimalFormat df = new DecimalFormat( "0" );
这是我用过的:
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)
}
}
在上面的例子中 #.#
可以替换为 #.##
如果你想显示最多 2 位小数等等。
代码如下:
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 cannot be cast to com.github.mikephil.charting.formatter.ValueFormatter
问题是有些值在没有 .0 的情况下也有效,有些值在有 .0 的情况下有效
使用:
DecimalFormat df = new DecimalFormat( "0" );
这是我用过的:
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)
}
}
在上面的例子中 #.#
可以替换为 #.##
如果你想显示最多 2 位小数等等。