Parcourir la source

修复交易画面 涨跌幅计算

lintong il y a 6 jours
Parent
commit
3c18edd9a4

+ 7 - 5
Koala/Koala/Modular/Deal/V/Deal/DealProDataCell.swift

@@ -173,11 +173,10 @@ extension DealProDataCell {
     func updatePrice(vm: DealViewModel) {
         self.VM = vm
         let model = vm.selectSymbolModel
-        let color = exchangeColorAndImage(increase: conerData(model.increase, .MyFloat).1!).0
         
         let price = precisionString(with: model.newPrice, precision: model.digits)
         
-        let difference: Double = conerData(model.newPrice, .MyDouble).2! - conerData(model.open, .MyDouble).2!
+        let difference: Double = conerData(model.newPrice, .MyDouble).2! - conerData(model.close, .MyDouble).2!
         var digits = model.digits
         if Double(digits) ?? 0 == 0 {
             if showThreeDigitPrecision(model.market) {
@@ -189,14 +188,17 @@ extension DealProDataCell {
         
         let differenceStr = precisionString(with: "\(difference)", precision: digits)
         
-        let increase = conerData(model.increase as Any, .MyFloat).1!
+        let increase = (difference/conerData(model.close, .MyDouble).2!) * 100
         var increaseStr = "0%"
         if increase > 0 {
-            increaseStr = "+" + precisionString(with: model.increase, precision: digits) + "%"
+            increaseStr = "+" + precisionString(with: "\(increase)", precision: digits) + "%"
         } else {
-            increaseStr = precisionString(with: model.increase, precision: digits) + "%"
+            increaseStr = precisionString(with: "\(increase)", precision: digits) + "%"
         }
         
+        let color = exchangeColorAndImage(increase: Float(increase)).0
+        model.increase = "\(increase)"
+        
         self.value2Lab.text = String(format: "%@  %@  %@", price, differenceStr, increaseStr)
         self.value2Lab.textColor = color
     }

+ 5 - 0
Koala/Koala/Modular/Deal/V/Deal/DealSimDataCell.swift

@@ -149,6 +149,11 @@ class DealSimDataCell: BaseTableViewCell {
     }
     
     func updateCellPrice(vm: DealViewModel) {
+        
+        let difference: Double = conerData(vm.selectSymbolModel.newPrice, .MyDouble).2! - conerData(vm.selectSymbolModel.close, .MyDouble).2!
+        let increase = (difference/conerData(vm.selectSymbolModel.close, .MyDouble).2!) * 100
+        vm.selectSymbolModel.increase = "\(increase)"
+        
         if vm.selectSymbolModel.digits.count > 0 {
             self.priceLab.text = precisionString(with: vm.selectSymbolModel.newPrice, precision: vm.selectSymbolModel.digits)
             if conerData(vm.selectSymbolModel.increase, .MyFloat).1! > 0 {