Ваш вопрос был мне неясен, пока вы не показали нам скриншот
Вы не просили отформатировать фактические нарисованные значения, вы просили отформатировать значение, отображаемое надписью маркер , который появляется при нажатии на точку.Для этой реализации я должен был предположить, что вы использовали пользовательский класс BalloonMarker
из Charts-Demo, который не форматирует значение своего текста перед отображением.Я смог воспроизвести вашу проблему и исправить ее: обратите внимание на строки 184-187
из BalloonMarker.swift
:
184 open override func refreshContent(entry: ChartDataEntry, highlight: Highlight)
185 {
186 setLabel(String(entry.y))
187 }
Строка 186
должна быть заменена на
186 setLabel(String(format: "%.0f", entry.y))
Это должно исправить вашу проблему.Я включаю мое воспроизведение и исправления для вас ниже:
Воспроизведение вашего номера
С Fix
Кроме того, если вы хотите, чтобы ваша ось x отображала только целые числа, вам нужно сделать следующее:
let formatter = NumberFormatter()
formatter.maximumFractionDigits = 0
formatter.numberStyle = .none
formatter.locale = .current
chartView.xAxis.valueFormatter = DefaultAxisValueFormatter(formatter: formatter)