Prechádzať zdrojové kódy

价格四舍五入后计算差值

lintong 4 týždňov pred
rodič
commit
d8f6cc9f59

+ 3 - 3
Koala/Koala/Modular/Home/V/HomeNewUI/HomeShareCertificateCell.swift

@@ -435,7 +435,7 @@ class HomeShareCertificateVC: UIViewController, JXSegmentedListContainerViewList
                             if conerData(ask, .MyDouble).2! == 0 {
                                 ask = model.open
                             }
-                            model.newPrice = precisionString(with: ask, precision: model.digits)
+                            model.newPrice = precisionString(with: ask, precision: model.digits, isRound: true)
                             let np = decimalNumber(A: model.newPrice, B: model.close, type: .Subtract, scale: model.digits)
                             let increase = (conerData(np, .MyDouble).2!/conerData(model.close, .MyDouble).2!)*100
                             model.increase = String(format: "%.2f", increase)
@@ -503,7 +503,7 @@ class HomeShareCertificateVC: UIViewController, JXSegmentedListContainerViewList
                             if conerData(ask, .MyDouble).2! == 0 {
                                 ask = model!.open
                             }
-                            model?.newPrice = precisionString(with: ask, precision: model!.digits)
+                            model?.newPrice = precisionString(with: ask, precision: model!.digits, isRound: true)
                             let np = decimalNumber(A: model!.newPrice, B: model!.open, type: .Subtract, scale: model!.digits)
                             let increase = (conerData(np, .MyDouble).2!/conerData(model!.open, .MyDouble).2!)*100
                             model?.increase = String(format: "%.2f", increase)
@@ -1049,7 +1049,7 @@ class HomeOptionVC: UIViewController, JXSegmentedListContainerViewListDelegate {
                             if conerData(ask, .MyDouble).2! == 0 {
                                 ask = model!.open
                             }
-                            model?.newPrice = precisionString(with: ask, precision: model!.digits)
+                            model?.newPrice = precisionString(with: ask, precision: model!.digits, isRound: true)
                             let np = decimalNumber(A: model!.newPrice, B: model!.open, type: .Subtract, scale: model!.digits)
                             let increase = (conerData(np, .MyDouble).2!/conerData(model!.open, .MyDouble).2!)*100
                             model?.increase = String(format: "%.2f", increase)

+ 1 - 1
Koala/Koala/Modular/Market/V/MarketDetailView/MDAuoteView/MDAuoteDepthCell.swift

@@ -93,7 +93,7 @@ class MDAuoteDepthCell: BaseTableViewCell {
             
             let ask = AsksOrBidsModel()
             
-            ask.price = precisionString(with: askStr, precision: "\(digits)")
+            ask.price = precisionString(with: askStr, precision: "\(digits)", isRound: true)
 
             ask.volume = String(format: "%d", arc4random()%2700 + 300)
             self.depthModel.asks.append(ask)

+ 7 - 4
Koala/Koala/Modular/Market/V/MarketDetailView/MDAuoteView/MDAuoteInfoCell.swift

@@ -465,7 +465,10 @@ class MDAuoteInfoCell: BaseTableViewCell {
         var differenceStr = "0.00"
         var increaseStr = "0.00%"
         
-        let difference:Double = conerData(model.newPrice, .MyDouble).2! - conerData(model.close, .MyDouble).2!
+        let ask = precisionString(with: "\(model.newPrice)", precision: model.realDigits(), isRound: true)
+        let close =  precisionString(with: "\(model.close)", precision: model.realDigits(), isRound: true)
+        
+        let difference:Double = conerData(ask, .MyDouble).2! - conerData(close, .MyDouble).2!
         let increase = (difference/conerData(model.close as Any, .MyDouble).2!)*100
         
         var digits = model.digits
@@ -477,7 +480,7 @@ class MDAuoteInfoCell: BaseTableViewCell {
             }
         }
         
-        differenceStr = precisionString(with: "\(difference)", precision: digits)
+        differenceStr = precisionString(with: "\(difference)", precision: digits, isRound: true)
         
         if difference >= 0 {
             if difference > 0 {
@@ -496,9 +499,9 @@ class MDAuoteInfoCell: BaseTableViewCell {
             self.iconImageView.image = UIImage(named: "low_icon")
         }
         if model.digits.length > 0 {
-            self.priceLab.text = precisionString(with: model.ask, precision: model.digits)
+            self.priceLab.text = precisionString(with: model.ask, precision: model.digits, isRound: true)
         } else {
-            self.priceLab.text = precisionString(with: model.ask, precision: showThreeDigitPrecision(model.market) ?  "3":"2")
+            self.priceLab.text = precisionString(with: model.ask, precision: showThreeDigitPrecision(model.market) ?  "3":"2", isRound: true)
         }
         
         if increase > 0 {

+ 2 - 9
Koala/Koala/Modular/Market/V/MarketDetailView/MarketDetailNavView.swift

@@ -164,16 +164,9 @@ class MarketDetailNavView: BaseView {
         let increase = (difference / conerData(model.close as Any, .MyDouble).2!) * 100
         var increaseStr = "0.00%"
         
-        var digits = model.digits
-        if Double(digits) ?? 0 == 0 {
-            if showThreeDigitPrecision(model.market) {
-                digits = "3"
-            } else {
-                digits = "2"
-            }
-        }
+        var digits = model.realDigits()
         
-        let differenceStr = precisionString(with: "\(difference)", precision: digits)
+        let differenceStr = precisionString(with: "\(difference)", precision: digits, isRound: true)
         
 //        if difference > 0 {
 //            differenceStr = String(format: "+%.2f", difference)

+ 2 - 2
Koala/Koala/Modular/Market/VC/正常版本/ViewModel/MarketOptionViewModel.swift

@@ -175,7 +175,7 @@ class MarketOptionViewModel: MarketProtocol {
                                     if conerData(ask, .MyDouble).2! == 0 {
                                         ask = model.open
                                     }
-                                    model.newPrice = precisionString(with: ask, precision: model.digits)
+                                    model.newPrice = precisionString(with: ask, precision: model.digits, isRound: true)
                                     let np = decimalNumber(A: model.newPrice, B: model.close, type: .Subtract, scale: model.digits)
                                     let increase = (conerData(np, .MyDouble).2!/conerData(model.close, .MyDouble).2!)*100
                                     model.increase = String(format: "%.2f", increase)
@@ -381,7 +381,7 @@ extension MarketOptionViewModel {
                             if conerData(ask, .MyDouble).2! == 0 {
                                 ask = model!.open
                             }
-                            model?.newPrice = precisionString(with: ask, precision: model!.digits)
+                            model?.newPrice = precisionString(with: ask, precision: model!.digits, isRound: true)
                             let np = decimalNumber(A: model!.newPrice, B: model!.open, type: .Subtract, scale: model!.digits)
                             let increase = (conerData(np, .MyDouble).2!/conerData(model!.open, .MyDouble).2!)*100
                             model?.increase = String(format: "%.2f", increase)

+ 2 - 2
Koala/Koala/Modular/Market/VC/正常版本/ViewModel/StockViewModel.swift

@@ -96,7 +96,7 @@ class StockViewModel: MarketProtocol {
                                     if conerData(ask, .MyDouble).2! == 0 {
                                         ask = model!.open
                                     }
-                                    model?.newPrice = precisionString(with: ask, precision: model!.digits)
+                                    model?.newPrice = precisionString(with: ask, precision: model!.digits, isRound: true)
                                     let np = decimalNumber(A: model!.newPrice, B: model!.open, type: .Subtract, scale: model!.digits)
                                     let increase = (conerData(np, .MyDouble).2!/conerData(model!.open, .MyDouble).2!)*100
                                     model?.increase = String(format: "%.2f", increase)
@@ -189,7 +189,7 @@ class StockViewModel: MarketProtocol {
                             if conerData(ask, .MyDouble).2! == 0 {
                                 ask = model!.open
                             }
-                            model?.newPrice = precisionString(with: ask, precision: model!.digits)
+                            model?.newPrice = precisionString(with: ask, precision: model!.digits, isRound: true)
                             let np = decimalNumber(A: model!.newPrice, B: model!.open, type: .Subtract, scale: model!.digits)
                             let increase = (conerData(np, .MyDouble).2!/conerData(model!.open, .MyDouble).2!)*100
                             model?.increase = String(format: "%.2f", increase)

+ 2 - 2
Koala/Koala/Modular/Market/VM/MarketSearchViewModel.swift

@@ -219,7 +219,7 @@ extension MarketSearchViewModel {
                             if conerData(ask, .MyDouble).2! == 0 {
                                 ask = model.open
                             }
-                            model.newPrice = precisionString(with: ask, precision: model.digits)
+                            model.newPrice = precisionString(with: ask, precision: model.digits, isRound: true)
                             let np = decimalNumber(A: model.newPrice, B: model.open, type: .Subtract, scale: model.digits)
                             let increase = (conerData(np, .MyDouble).2!/conerData(model.open, .MyDouble).2!)*100
                             model.increase = String(format: "%.2f", increase)
@@ -297,7 +297,7 @@ extension MarketSearchViewModel {
                     if conerData(ask, .MyDouble).2! == 0 {
                         ask = model.open
                     }
-                    model.newPrice = precisionString(with: ask, precision: model.digits)
+                    model.newPrice = precisionString(with: ask, precision: model.digits, isRound: true)
                     let np = decimalNumber(A: model.newPrice, B: model.close, type: .Subtract, scale: model.digits)
                     let increase = (conerData(np, .MyDouble).2!/conerData(model.close, .MyDouble).2!)*100
                     model.increase = String(format: "%.2f", increase)