diff --git a/src/data/DataProvider.cpp b/src/data/DataProvider.cpp
index 5c3d1d7ef3b3dd8c779cf9cda737f1a2b2f6e01f..fc6b842edef17c80a4ef80667fc814bf85df25a4 100644
--- a/src/data/DataProvider.cpp
+++ b/src/data/DataProvider.cpp
@@ -42,8 +42,8 @@ Aidge::DataProvider::DataProvider(const Aidge::Database& database, const std::si
 
     // Compute the number of bacthes depending on mDropLast boolean
     mNbBatch = (mDropLast) ?
-                static_cast<std::size_t>(std::floor(mNbItems / mBatchSize)) :
-                static_cast<std::size_t>(std::ceil(mNbItems / mBatchSize));
+                (mNbItems / mBatchSize) :
+                static_cast<std::size_t>(std::ceil(mNbItems / static_cast<float>(mBatchSize)));
 }
 
 std::vector<std::shared_ptr<Aidge::Tensor>> Aidge::DataProvider::readBatch() const