Как извлечь десятичные значения, такие как 0,00000000 из листа Excel, используя Java в селене? - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть имя столбца BuyQuantity, и оно имеет значения, подобные показанным ниже: -

BuyQuantity 0,00000000 0,00000001 0,00000002 0,00000003 0,00000004 0,00000005

И я хочу извлечь точноезначение, как показано выше, и сравните его с некоторыми значениями, которые снова удваиваются.

Я пытался получить значение, как показано ниже: -

String buy = r.getCell (0) .getStringCellValue ();total = Double.parseDouble (покупка);// но я получаю только 0.0 как значение, а не как целое значение, например 0.00000000

Буду признателен, если кто-нибудь поможет мне в этом.

Спасибо !!!

1 Ответ

0 голосов
/ 05 декабря 2018

Попробуйте, используя классы BigDecimal и DecimalFormat.Выходные данные отображаются как 0,000000000005

. Для сравнения 2 BigDecimal объектов мы можем использовать метод compareTo.

Если первый объект больше, то тип возвращаемого значения 1

Если второйобъект больше, чем тип возвращаемого значения -1

Если оба объекта равны, тип возвращаемого значения равен 0

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.ParseException;

public class DoubleTest {

    public static void main(String[] args) throws ParseException {
        String str =  "0.000000000005";
    String str2 = "0.000000000025";
    BigDecimal decimal = new BigDecimal(str);
    DecimalFormat decimalFormat = new DecimalFormat("0.000000000000");
    System.out.println(decimalFormat.format(decimal));
    BigDecimal decimal2 = new BigDecimal(str2);
    DecimalFormat decimalFormat2 = new DecimalFormat("0.000000000000");
    System.out.println(decimalFormat2.format(decimal2));

    System.out.println(decimal.compareTo(decimal2));

    }
}
...