From 17a0b30161ccc2a87baa5820ad6b0b7011d22c7d Mon Sep 17 00:00:00 2001 From: Esophose Date: Fri, 24 May 2019 10:46:30 -0600 Subject: [PATCH] Numbers using commas as decimal separator --- .../skyblock/utils/NumberUtil.java | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/main/java/me/goodandevil/skyblock/utils/NumberUtil.java b/src/main/java/me/goodandevil/skyblock/utils/NumberUtil.java index 00be6f2f..693bcf2c 100644 --- a/src/main/java/me/goodandevil/skyblock/utils/NumberUtil.java +++ b/src/main/java/me/goodandevil/skyblock/utils/NumberUtil.java @@ -1,6 +1,7 @@ package me.goodandevil.skyblock.utils; import java.text.DecimalFormat; +import java.text.NumberFormat; import java.util.Date; public final class NumberUtil { @@ -10,14 +11,22 @@ public final class NumberUtil { } public static String formatNumberByDecimal(double number) { - String withoutDecimal = new DecimalFormat("0.#").format(number), withDecimal = ""; + DecimalFormat decimalFormat = new DecimalFormat("0.#"); + String withoutDecimal = decimalFormat.format(number), withDecimal = ""; - if (withoutDecimal.contains(".")) { - withDecimal = "." + withoutDecimal.split("\\.")[1]; - withoutDecimal = withoutDecimal.replace(withDecimal, ""); + if (decimalFormat.getDecimalFormatSymbols().getDigit() == '.') { + if (withoutDecimal.contains(".")) { + withDecimal = "." + withoutDecimal.split("\\.")[1]; + withoutDecimal = withoutDecimal.replace(withDecimal, ""); + } + } else if (decimalFormat.getDecimalFormatSymbols().getDigit() == ',') { + if (withoutDecimal.contains(",")) { + withDecimal = "," + withoutDecimal.split(",")[1]; + withoutDecimal = withoutDecimal.replace(withDecimal, ""); + } } - if (withDecimal.equals(".0")) { + if (withDecimal.equals(".0") || withDecimal.equals(",0")) { withDecimal = ""; }