Bladeren bron

添加 float 类型精确位数 方法

jsonwang 3 jaren geleden
bovenliggende
commit
fdd9c8d7f2
1 gewijzigde bestanden met toevoegingen van 33 en 0 verwijderingen
  1. 33 0
      BFFramework/Classes/BFModules/BFCategorys/BFFloat+Ext.swift

+ 33 - 0
BFFramework/Classes/BFModules/BFCategorys/BFFloat+Ext.swift

@@ -0,0 +1,33 @@
+//
+//  BFFloat+Ext.swift
+//  BFFramework
+//
+//  Created by ak on 2021/10/11.
+//
+
+import Foundation
+
+extension Float {
+    /// 准确的小数尾截取 - 没有进位
+    /*
+     // 11.999003  -> 12.0
+     var pp = 11.999003
+     String(format: "%.1f", pp)  这个方法会进行四舍五入
+     */
+    func decimalString(_ base: Self = 1) -> String {
+       return "\(self.decimalNumber(base))"
+    }
+    func decimalNumber(_ base: Self = 1) -> Float {
+        let tempCount: Self = pow(10, base)
+        let temp = self*tempCount
+        
+        let target = Self(Int(temp))
+        let stepone = target/tempCount
+        if stepone.truncatingRemainder(dividingBy: 1) == 0 {
+            return Float(String(format: "%.0f", stepone)) ?? 0.0
+        }else{
+            return stepone
+        }
+    }
+}
+