summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/utils
diff options
context:
space:
mode:
authorhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-08-28 14:11:44 +0200
committerhannibal2 <24389977+hannibal00212@users.noreply.github.com>2023-08-28 14:11:44 +0200
commit30b3c5bfd4100c34eaea5b7dd15efc841a328d29 (patch)
tree494e3fe4d42f81108cf96850af342e1a62943a83 /src/main/java/at/hannibal2/skyhanni/utils
parent144f3b57f38bbb0953f5f9d5db8cafaad381256d (diff)
downloadskyhanni-30b3c5bfd4100c34eaea5b7dd15efc841a328d29.tar.gz
skyhanni-30b3c5bfd4100c34eaea5b7dd15efc841a328d29.tar.bz2
skyhanni-30b3c5bfd4100c34eaea5b7dd15efc841a328d29.zip
fixed float and double rounding errors
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt
index 08f88ea17..248efd5df 100644
--- a/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt
+++ b/src/main/java/at/hannibal2/skyhanni/utils/LorenzUtils.kt
@@ -119,13 +119,19 @@ object LorenzUtils {
fun Double.round(decimals: Int): Double {
var multiplier = 1.0
repeat(decimals) { multiplier *= 10 }
- return kotlin.math.round(this * multiplier) / multiplier
+ val result = kotlin.math.round(this * multiplier) / multiplier
+ val a = result.toString()
+ val b = toString()
+ return if (a.length > b.length) this else result
}
- fun Float.round(decimals: Int): Double {
+ fun Float.round(decimals: Int): Float {
var multiplier = 1.0
repeat(decimals) { multiplier *= 10 }
- return kotlin.math.round(this * multiplier) / multiplier
+ val result = kotlin.math.round(this * multiplier) / multiplier
+ val a = result.toString()
+ val b = toString()
+ return if (a.length > b.length) this else result.toFloat()
}
// TODO replace all calls with regex