2017-06-27 7 views
3

Ich möchte die 1.00 und 2.00 in 1 und 2 verwandeln. Wenn ich versuche, entry.y = Double(value) zu entry.y = Int(value) zu ändern, heißt es, es muss ein Double sein. Wie verwandle ich die Werte in ganze Zahlen?swift/charts: Diagrammwert int statt double

var entries = [PieChartDataEntry]() 
     for (index, value) in dataarray.enumerated() { 
      let entry = PieChartDataEntry() 
      entry.y = Double(value) 
      entry.label = self.labels[index] 
      entries.append(entry) 
     } 

Das ist der Plan ich verwende:

Chart

+0

ich keine Erfahrung mit PieChart haben, aber dies sieht ähnlich aus: https://stackoverflow.com/questions/40453604/how-to -add-zu-Daten-in-ios-Diagramm, dh Sie müssen einen "Wertformatierer" einstellen. –

+0

@MartinR Danke für den Link, aber meine Dateneingabe ist anders als die in diesem Beitrag strukturiert. – Hunter

+0

Es war nur als Hinweis gemeint, dass Sie nach "Wertformatierern" suchen. –

Antwort

0

Statt:

entry.y = Double(value) 

Do:

entry.y = Int(value) 

Beachten Sie, dass 2.1, 2.2 etc kehrt 2

+0

Ich bekomme den Fehler 'kann nicht den Wert vom Typ' Int 'zuweisen, um' Double '' einzugeben. Dann schlägt es mir vor, es in 'entry.y = Double (Int (value))' ' – Hunter

+0

zu ändern, weil Ihr' entry.y' vom Typ 'Double' ist. Sie können die Zahlen nach der Dezimalzahl entfernen. Ich werde die Antwort aktualisieren. –

+0

Wie würde ich die Zahlen nach der Dezimalzahl entfernen? – Hunter

0

Diese Versuchen:

let number = NSNumber(value: value) 
entry.y = number.integerValue 
+0

Danke für deine Antwort, aber es funktioniert nicht. Dadurch kann ich es in 'entry.y = Double (number.intValue)' ändern – Hunter

2

lassen pieChartView = PieChartView (Rahmen: CGRect (x 60, y 50, Breite: 200, Höhe: 300))

let track = ["Passed", "Failed", "Pending"] 
    let money = [10, 6, 10] 

    var entries = [PieChartDataEntry]() 
    for (index, value) in money.enumerated() { 
     let entry = PieChartDataEntry() 

     entry.y = Double(value) 

     entry.label = track[index] 
     entries.append(entry) 
    } 

let gesetzt = PieChartDataSet (Werte: Einträge, Label: "")

lassen data = PieChartData (dataSet: set)

pieChartView.data = data

let Formatter = NumberFormatter()

formatter.minimumFractionDigits = 0 

    data.setValueFormatter(DefaultValueFormatter(formatter:formatter)) 
Verwandte Themen