|
@@ -271,3 +271,16 @@ func FloatToStrN(f float64, lens ...int) string {
|
|
|
}
|
|
|
return str
|
|
|
}
|
|
|
+
|
|
|
+// FormatFloat 主要逻辑就是先乘,trunc之后再除回去,就达到了保留N位小数的效果
|
|
|
+func FormatFloat(num float64, decimal int) string {
|
|
|
+ // 默认乘1
|
|
|
+ d := float64(1)
|
|
|
+ if decimal > 0 {
|
|
|
+ // 10的N次方
|
|
|
+ d = math.Pow10(decimal)
|
|
|
+ }
|
|
|
+ // math.trunc作用就是返回浮点数的整数部分
|
|
|
+ // 再除回去,小数点后无效的0也就不存在了
|
|
|
+ return strconv.FormatFloat(math.Trunc(num*d)/d, 'f', -1, 64)
|
|
|
+}
|