diff --git a/packages/loot-core/src/shared/rules.js b/packages/loot-core/src/shared/rules.js
index 033eb834bba01707dad3c54c613f5d6465ceb862..bfc7c98f45d2094b062184ec9c2c4b9106a97b97 100644
--- a/packages/loot-core/src/shared/rules.js
+++ b/packages/loot-core/src/shared/rules.js
@@ -199,5 +199,5 @@ export function makeValue(value, cond) {
 }
 
 export function getApproxNumberThreshold(number) {
-  return (Math.abs(number) * 0.075) | 0;
+  return Math.round(Math.abs(number) * 0.075);
 }
diff --git a/packages/loot-core/src/shared/schedules.js b/packages/loot-core/src/shared/schedules.js
index af92e068f83dcda5b212ce682e8c8ba502f7ee77..6525a8b75394799fa4d9d4c9f6ec76221c8abc20 100644
--- a/packages/loot-core/src/shared/schedules.js
+++ b/packages/loot-core/src/shared/schedules.js
@@ -221,7 +221,7 @@ export function extractScheduleConds(conditions) {
 
 export function getScheduledAmount(amount) {
   if (amount && typeof amount !== 'number') {
-    return ((amount.num1 + amount.num2) / 2) | 0;
+    return Math.round((amount.num1 + amount.num2) / 2);
   }
   return amount;
 }