Я пытаюсь преобразовать String в Double в Java. Я получаю следующую строку от клиента «1131.00», но когда я конвертирую ее в Double, я возвращаюсь назад 1131.0, что НЕ является правильным. Я ожидаю 1131.00 (.00 - с двумя нулями)Java - String to Double Issue
_dPaymentAmt = ConvertUtil.stringToDouble(sPaymentAmt, 0.0);
public static double stringToDouble(String str, double dDefaultValue)
throws Exception
{
double doubleValue = 0;
try
{
doubleValue = Double.parseDouble(str);
}
catch (Exception e)
{
doubleValue = dDefaultValue;
}
return doubleValue;
}
Как я могу поддерживать два ноль после десятичной?
EDIT: Один из промежуточных слоев удаляет десятичный период, чтобы отправить значение в банк, и банк делит его на 100 для вычисления десятичных знаков. Поэтому, если я пришлю 1311.0, банковские сборы 131.10 ... поэтому я должен поддерживать две десятичные точки, сохраняя их как ДВОЙНОЕ значение.
Хм, сохраните его как 'String'? –
И, может быть, использовать 'DecimalFormat'? – squiguy
Что вы подразумеваете под «Я возвращаюсь»? Вы переводите его обратно в 'String'? –