diff --git a/pom.xml b/pom.xml index e8f70f958..1d964b214 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.marginallyclever RobotOverlord - 2.110.0 + 2.110.1 Robot Overlord A friendly 3D user interface for controlling robots. https://www.marginallyclever.com/ diff --git a/src/main/java/com/marginallyclever/convenience/helpers/StringHelper.java b/src/main/java/com/marginallyclever/convenience/helpers/StringHelper.java index 3ebcadcae..70be3acdd 100644 --- a/src/main/java/com/marginallyclever/convenience/helpers/StringHelper.java +++ b/src/main/java/com/marginallyclever/convenience/helpers/StringHelper.java @@ -5,6 +5,7 @@ import javax.vecmath.Tuple3d; import javax.vecmath.Vector3d; import java.io.IOException; +import java.text.DecimalFormat; import java.text.NumberFormat; import java.util.Locale; @@ -20,34 +21,8 @@ static public String shortenNumber(String s) { return s; } - static public String formatFloat(float arg0) { - //return Float.toString(roundOff(arg0)); - return shortenNumber(String.format("%.3f", arg0)); - } - static public String formatDouble(double arg0) { - //return Float.toString(roundOff(arg0)); - return shortenNumber(String.format("%.3f", arg0)); - } - - /** - * Parse a number sent from a US format system - * @param str - * @return - */ - static public double parseNumber(String str) { - double d=0; - - try { - NumberFormat nf = NumberFormat.getInstance(Locale.US); - Number n = nf.parse(str); - d = n.doubleValue(); - } - catch(Exception e) { - e.printStackTrace(); - } - - return d; + return shortenNumber(String.format(Locale.ROOT,"%.3f", arg0)); } // @return "*"+ the binary XOR of every byte in the msg. diff --git a/src/test/java/com/marginallyclever/ro3/node/nodes/marlinrobotarm/MarlinRobotArmTest.java b/src/test/java/com/marginallyclever/ro3/node/nodes/marlinrobotarm/MarlinRobotArmTest.java index f4946f947..8e68aff94 100644 --- a/src/test/java/com/marginallyclever/ro3/node/nodes/marlinrobotarm/MarlinRobotArmTest.java +++ b/src/test/java/com/marginallyclever/ro3/node/nodes/marlinrobotarm/MarlinRobotArmTest.java @@ -1,5 +1,6 @@ package com.marginallyclever.ro3.node.nodes.marlinrobotarm; +import com.marginallyclever.convenience.helpers.StringHelper; import com.marginallyclever.ro3.Registry; import com.marginallyclever.ro3.node.nodes.pose.Pose; import com.marginallyclever.ro3.node.nodes.pose.poses.Limb; @@ -7,6 +8,8 @@ import org.junit.jupiter.api.Test; import org.mockito.Mockito; +import java.util.Locale; + import static org.junit.jupiter.api.Assertions.*; class MarlinRobotArmTest { @@ -68,4 +71,28 @@ public void toFromJSON() { assertEquals(mra.getLimb().getSubject().getName(),mra2.getLimb().getSubject().getName()); assertEquals(mra.getSolver().getSubject().getName(),mra2.getSolver().getSubject().getName()); } + + @Test + public void numberFormatDE() { + Locale defaultLocale = Locale.getDefault(); + Locale.setDefault(Locale.GERMANY); + try { + assertEquals("1.234", StringHelper.formatDouble(1.234)); + } finally { + Locale.setDefault(defaultLocale); + } + } + + @Test + public void numberFormatDE2() { + Locale defaultLocale = Locale.getDefault(); + Locale.setDefault(Locale.GERMANY); + try { + StringBuilder sb = new StringBuilder(); + sb.append(1.234); + assertEquals("1.234", sb.toString()); + } finally { + Locale.setDefault(defaultLocale); + } + } } \ No newline at end of file