diff --git a/jadx-core/src/main/java/jadx/core/xmlgen/entry/ValuesParser.java b/jadx-core/src/main/java/jadx/core/xmlgen/entry/ValuesParser.java index ae57fab8c42e5dd555e41d7aea4d274ddf8d8027..ed02114a062f4e5229eb84d38a2f27fba4efebf6 100644 --- a/jadx-core/src/main/java/jadx/core/xmlgen/entry/ValuesParser.java +++ b/jadx-core/src/main/java/jadx/core/xmlgen/entry/ValuesParser.java @@ -6,6 +6,7 @@ import java.io.InputStream; import java.text.NumberFormat; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.Map; import org.jetbrains.annotations.Nullable; @@ -86,7 +87,7 @@ public class ValuesParser extends ParserConstants { case TYPE_INT_BOOLEAN: return data == 0 ? "false" : "true"; case TYPE_FLOAT: - return Float.toString(Float.intBitsToFloat(data)); + return floatToString(Float.intBitsToFloat(data)); case TYPE_INT_COLOR_ARGB8: return String.format("#%08x", data); @@ -207,12 +208,16 @@ public class ValuesParser extends ParserConstants { return Integer.toString((int) value); } // remove trailing zeroes - NumberFormat f = NumberFormat.getInstance(); + NumberFormat f = NumberFormat.getInstance(Locale.ROOT); f.setMaximumFractionDigits(4); f.setMinimumIntegerDigits(1); return f.format(value); } + private static String floatToString(float value) { + return doubleToString((double) value); + } + public static Map getAndroidResMap() { return androidResMap; }