|
@@ -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
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|