Float値に対するfetch条件の生成について教えてください。
Ingteger値に対しての条件設定は期待した結果が得られたのですが、Float値に対しての条件設定では期待した結果が得られませんでした。
Float値を検索する場合は別の方法があるのでしょうか?
もしくはFloat値のデータモデルに問題があるのでしょうか?

今更なのですが、やりたかったことに関して追記します。
SwiftのFloat型の精度の範囲の値をCoreDataを用いて永続化したデータを検索し、検索結果を得たい。
とてもシンプルな機能を想定していて、次のような内容は含みません。
- プログラム内で数値計算等を行い、そこで得た値を永続化する。
- プログラム内で数値計算等を行い、そこで得た値をkeyとする。
- Float型の精度の範囲の値外の値をFloat型の値として、永続化および検索keyとする。
永続化および検索keyとして使用する値は、Float型の精度の範囲の値だけが対象です。

コードに不具合などありましたら教えてください。

(試した結果)

条件            |fetchされた値|コメント
===============+=============+=====================================
fvalue < 0.05  |0.05以下     |**0.05未満の値ではない。0.05もfetchされる。なぜ?**
fvalue <= 0.05 |0.05以下     |期待通り問題なし。
fvalue == 0.05 |             |**何もれられなかった。0.05が得られないのはなぜ?**
fvalue > 0.05  |0.06以上     |期待通り問題なし。
fvalue >= 0.05 |0.06以上     |**0.05以上の値ではない。0.05は得られない。なぜ?**
---------------+-------------+-------------------------------------
ivalue < 5     |5未満        |期待通り問題なし。
ivalue <= 5    |5以下        |期待通り問題なし。
ivalue == 5    |5            |期待通り問題なし。
ivalue > 5     |6以上        |期待通り問題なし。
ivalue >= 5    |5以上        |期待通り問題なし。

(Core model)

Entities:
Entity|Attribute|Type
======+=========+======
Pin   |name     |String
      |fvalue    |Float
      |ivalue    |Integer16

(code)

[AppDelegate.swift]
func applicationDidFinishLaunching(_ aNotification: Notification) {
    for i in 0..<10 {
        autoreleasepool { (result) in
            let pin = NSEntityDescription.insertNewObject(forEntityName: "Pin", into: managedObjectContext) as! Pin
            pin.name = "pin\(i)"
            pin.fvalue = NSNumber(value: Float(i) * 0.01)
            pin.ivalue = NSNumber(value: i)

            do {
                try managedObjectContext.save()
            } catch {
                let nserror = error as NSError
                NSApplication.shared().presentError(nserror)
            }
        }
        managedObjectContext.refreshAllObjects()
    }

    do {
        let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Pin")
        fetchRequest.predicate = NSPredicate(format: "fvalue < 0.05")
        //fetchRequest.predicate = NSPredicate(format: "ivalue < 5")
        let sortDiscriptor = NSSortDescriptor(key: "name", ascending: true)
        fetchRequest.sortDescriptors = [sortDiscriptor]
        let pins = try managedObjectContext.fetch(fetchRequest) as! [Pin]
        for pin in pins {
            print("name: \(pin.name!), fvalue: \(pin.fvalue!), ivalue: \(pin.ivalue!)")
        }
    } catch let error as NSError {
        fatalError("\(error)")
    }
}