changeset 55:4dd944509d42

Format decimal floating points StockCharts
author Dennis Concepción Martín <66180929+denniscm190@users.noreply.github.com>
date Wed, 20 Jan 2021 11:39:33 +0100
parents 9481ed2b1fa0
children de12e60753be
files LazyBear.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate lazybear/Supply views/StockCharts.swift lazybear/Supply views/StockStats.swift
diffstat 3 files changed, 14 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
Binary file LazyBear.xcodeproj/project.xcworkspace/xcuserdata/dennis.xcuserdatad/UserInterfaceState.xcuserstate has changed
--- a/lazybear/Supply views/StockCharts.swift	Tue Jan 19 12:42:11 2021 +0100
+++ b/lazybear/Supply views/StockCharts.swift	Wed Jan 20 11:39:33 2021 +0100
@@ -27,24 +27,24 @@
                 LineChartView(data: prices, title: "Stock price", legend: "Last month",  form: CGSize(width: normalSize.0, height: normalSize.1), rateValue: nil)
                     .padding()
                 
-                let maxPrice = String(prices.max()!)
-                let minPrice = String(prices.min()!)
+                let maxPrice = prices.max()!
+                let minPrice = prices.min()!
                 StockStats(dataMax: maxPrice, dataMin: minPrice, width: normalSize.0, height: normalSize.1, title: "price")
                 
                 let volume = historicalPrices.result.map { $0.volume }
                 BarChartView(data: ChartData(points: volume), title: "Volume", form: CGSize(width: specialSize.0, height: specialSize.1))
                         .padding()
                 
-                let maxVolume = String(volume.max()!)
-                let minVolume = String(volume.min()!)
-                StockStats(dataMax: maxVolume, dataMin: minVolume, width: normalSize.0, height: normalSize.1, title: "volume")
+                let maxVolume = volume.max()!
+                let minVolume = volume.min()!
+                StockStats(dataMax: Double(maxVolume), dataMin: Double(minVolume), width: normalSize.0, height: normalSize.1, title: "volume")
                 
                 let change = historicalPrices.result.map { $0.changePercent*100 }
                 LineChartView(data: change, title: "Daily percentage change", legend: "Last month",  form: CGSize(width: normalSize.0, height: normalSize.1), rateValue: nil)
                     .padding()
                 
-                let maxChange = String(change.max()!)
-                let minChange = String(change.min()!)
+                let maxChange = change.max()!
+                let minChange = change.min()!
                 StockStats(dataMax: maxChange, dataMin: minChange, width: normalSize.0, height: normalSize.1, title: "daily percentage change")
                 
             }
--- a/lazybear/Supply views/StockStats.swift	Tue Jan 19 12:42:11 2021 +0100
+++ b/lazybear/Supply views/StockStats.swift	Wed Jan 20 11:39:33 2021 +0100
@@ -8,8 +8,8 @@
 import SwiftUI
 
 struct StockStats: View {
-    @State var dataMax: String
-    @State var dataMin: String
+    @State var dataMax: Double
+    @State var dataMin: Double
     @State var width: CGFloat
     @State var height: CGFloat
     @State var title: String
@@ -32,7 +32,7 @@
 }
 
 struct DataObject: View {
-    @State var data: String
+    @State var data: Double
     @State var colour: Color
     @State var type: String
     
@@ -40,9 +40,11 @@
         RoundedRectangle(cornerRadius: 25)
             .foregroundColor(.white)
             .overlay(
-                Text(unit() + " " + data)
+                Text("\(unit()) \(data, specifier: "%.2f")")
                     .foregroundColor(colour)
                     .dataModifier()
+                
+                //Text("TOTAL: $\(totalPrice, specifier: "%.2f")")
             )
     }
     
@@ -73,6 +75,6 @@
 
 struct StockStats_Previews: PreviewProvider {
     static var previews: some View {
-        StockStats(dataMax: "500.00", dataMin: "200.00", width: 360, height: 240, title: "price")
+        StockStats(dataMax: 500.00, dataMin: 200.00, width: 360, height: 240, title: "price")
     }
 }