diff --git a/ARODataAnalyzer/src/com/att/aro/main/TimeRangeAnalysisDialog.java b/ARODataAnalyzer/src/com/att/aro/main/TimeRangeAnalysisDialog.java index 6ebc385a..05dcda1a 100644 --- a/ARODataAnalyzer/src/com/att/aro/main/TimeRangeAnalysisDialog.java +++ b/ARODataAnalyzer/src/com/att/aro/main/TimeRangeAnalysisDialog.java @@ -22,8 +22,11 @@ import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.DecimalFormat; import java.text.MessageFormat; +import java.text.ParseException; import java.util.ResourceBundle; import javax.swing.BorderFactory; @@ -194,9 +197,8 @@ public void actionPerformed(ActionEvent arg0) { // Rounding traceEndTime as getEndTimeTextField() to // handle time comparison - Double traceEndTimeRounded = Double - .valueOf(decimalFormat.format(traceEndTime)); - if (startTime < endTime) { + Double traceEndTimeRounded = new BigDecimal(traceEndTime).setScale(2, RoundingMode.HALF_UP).doubleValue(); + if (startTime < endTime) { if (((startTime >= 0.0) && (startTime <= traceEndTimeRounded)) && ((endTime >= 0.0) && (endTime <= traceEndTimeRounded))) { @@ -294,7 +296,13 @@ private JTextField getStartTimeTextField() { * Returns the start time from the start time field */ private Double getTimeValue(JTextField field) throws NumberFormatException { - return Double.parseDouble(field.getText()); + Number value= null; + try { + value = decimalFormat.parse(field.getText()); + } catch (ParseException e) { + throw new NumberFormatException(); + } + return value.doubleValue(); } /** diff --git a/ARODataAnalyzer/src/com/att/aro/main/menu/view/ExcludeTimeRangeAnalysisDialog.java b/ARODataAnalyzer/src/com/att/aro/main/menu/view/ExcludeTimeRangeAnalysisDialog.java index 483a962a..b086c921 100644 --- a/ARODataAnalyzer/src/com/att/aro/main/menu/view/ExcludeTimeRangeAnalysisDialog.java +++ b/ARODataAnalyzer/src/com/att/aro/main/menu/view/ExcludeTimeRangeAnalysisDialog.java @@ -22,8 +22,11 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.DecimalFormat; import java.text.MessageFormat; +import java.text.ParseException; import java.util.ResourceBundle; import javax.swing.BorderFactory; @@ -215,8 +218,7 @@ public void actionPerformed(ActionEvent arg0) { // Rounding traceEndTime as getEndTimeTextField() to // handle time comparison - Double traceEndTimeRounded = Double - .valueOf(DECIMAL_FORMAT.format(traceEndTime)); + Double traceEndTimeRounded = new BigDecimal(traceEndTime).setScale(2, RoundingMode.HALF_UP).doubleValue(); if (startTime < endTime) { if (((startTime >= 0.0) && (startTime <= traceEndTimeRounded)) && ((endTime >= 0.0) && (endTime <= traceEndTimeRounded))) { @@ -318,7 +320,13 @@ private JTextField getStartTimeTextField() { * Returns the start time from the start time field */ private Double getTimeValue(JTextField field) throws NumberFormatException { - return Double.parseDouble(field.getText()); + Number value= null; + try { + value = DECIMAL_FORMAT.parse(field.getText()); + } catch (ParseException e) { + throw new NumberFormatException(); + } + return value.doubleValue(); } /**