فهرست منبع

修改 float 数据精度问题

jsonwang 3 سال پیش
والد
کامیت
deec074282
1فایلهای تغییر یافته به همراه8 افزوده شده و 6 حذف شده
  1. 8 6
      BFFramework/Classes/Stuckpoint/Controller/PQStuckPointEditerController.swift

+ 8 - 6
BFFramework/Classes/Stuckpoint/Controller/PQStuckPointEditerController.swift

@@ -1166,8 +1166,9 @@ extension PQStuckPointEditerController {
                                         deepCopySticker?.speedRate = tempSpeed
                                         // 定义临时使用的变量
                                         // 素材显示的开始时间和结束时间
-                                        let tempTimelineIn = Float64(finallyStuckPoints[totalClipNum + clipindex])
-                                        let timelineOut = Float64(finallyStuckPoints[totalClipNum + 1 + clipindex])
+                                        let tempTimelineIn:Float64 = Float64(String(format: "%.6f",finallyStuckPoints[totalClipNum + clipindex])) ?? 0.0
+                                        
+                                        let timelineOut:Float64 = Float64(String(format: "%.6f",finallyStuckPoints[totalClipNum + 1 + clipindex])) ?? 0.0
 
                                         // 素材分割的开始时间和结束时间
                                         let tempModel_In = lastOutTime
@@ -1208,7 +1209,7 @@ extension PQStuckPointEditerController {
                                         lastOutTime = deepCopySticker?.out ?? 0
                                     }
 
-                                    BFLog(message: " 测试人员创建 sticker  crilp is in 视频 \(String(format: "%.6f", deepCopySticker?.model_in ?? 0))  out  \(String(format: "%.6f", deepCopySticker?.out ?? 0)) ,分段素材时长:\(String(format: "%.6f", (deepCopySticker?.out ?? 0) - (deepCopySticker?.model_in ?? 0))) ,分段显示时长:\(String(format: "%.6f", (deepCopySticker?.timelineOut ?? 0) - (deepCopySticker?.timelineIn ?? 0))), 视频素材原时长\(CMTimeGetSeconds(asset.duration)) timelineIN: \(String(format: "%.6f", deepCopySticker?.timelineIn ?? 0)) timelineOUT:\(String(format: "%.6f", deepCopySticker?.timelineOut ?? 0)) speedRate:\(deepCopySticker?.speedRate ?? 0.0)")
+                                    BFLog(message: "测试人员创建 sticker  crilp is in 视频 \(String(format: "%.6f", deepCopySticker?.model_in ?? 0))  out  \(String(format: "%.6f", deepCopySticker?.out ?? 0)) ,分段素材时长:\(String(format: "%.6f", (deepCopySticker?.out ?? 0) - (deepCopySticker?.model_in ?? 0))) ,分段显示时长:\(String(format: "%.6f", (deepCopySticker?.timelineOut ?? 0) - (deepCopySticker?.timelineIn ?? 0))), 视频素材原时长\(CMTimeGetSeconds(asset.duration)) timelineIN: \(String(format: "%.6f", deepCopySticker?.timelineIn ?? 0)) timelineOUT:\(String(format: "%.6f", deepCopySticker?.timelineOut ?? 0)) speedRate:\(deepCopySticker?.speedRate ?? 0.0)")
 
                                     if deepCopySticker != nil {
                                         stickers.append(deepCopySticker!)
@@ -1221,8 +1222,9 @@ extension PQStuckPointEditerController {
                                     break
                                 }
                                 sticker.generateDefaultValues()
-                                sticker.timelineIn = Float64(finallyStuckPoints[totalClipNum])
-                                sticker.timelineOut = Float64(finallyStuckPoints[totalClipNum + 1])
+                            
+                                sticker.timelineIn = Float64(String(format: "%.6f",finallyStuckPoints[totalClipNum])) ?? 0.0
+                                sticker.timelineOut = Float64(String(format: "%.6f",finallyStuckPoints[totalClipNum + 1])) ?? 0.0
                                 totalClipNum = totalClipNum + 1
                                 stickers.append(sticker)
                                 BFLog(message: "测试人员创建 sticker  crilp is in 图片 \(String(format: "%.6f", sticker.model_in))  out  \(String(format: "%.6f", sticker.out)) ,分段素材时长:\(String(format: "%.6f", (sticker.out) - (sticker.model_in))) ,分段显示时长:\(String(format: "%.6f", (sticker.timelineOut) - (sticker.timelineIn))),   timelineIN: \(String(format: "%.6f", sticker.timelineIn)) timelineOUT:\(String(format: "%.6f", sticker.timelineOut)) speedRate:\(sticker.speedRate)")
@@ -1526,7 +1528,7 @@ extension PQStuckPointEditerController {
                 while oneSelectImageDuration < 10 {
                     // 不够10S 时 一次加图片数量的卡点数
                     clipPoint(clipCount: selectedImageDataCount - 1, oldPoints: stuckPointsTemp)
-                    oneSelectImageDuration = Float((finallyStuckPoints.last ?? 0) - (finallyStuckPoints.first ?? 0)) + oneSelectImageDuration
+                    oneSelectImageDuration = Float((finallyStuckPoints.last ?? 0) - (finallyStuckPoints.first ?? 0))
 
                     lastCyclesSelectIndex = lastCyclesSelectIndex + 1
                 }