Java 如何将字符串的特定格式转换为双精度格式
我正在使用Java 如何将字符串的特定格式转换为双精度格式,java,selenium,selenium-webdriver,webdriver,Java,Selenium,Selenium Webdriver,Webdriver,我正在使用getText()从xpath获取字符串。字符串是“500.00/=”,现在我想将其转换为double以便添加它,但问题是当我使用getText()时,我也会得到“/”,那么如何排除这个额外的字符串格式 //获取字符串形式的金额 String actualbookfees_amount = driver.findElement(By.xpath("//[@id='charges']/table[2]/tbody/tr[1]/td[2]")).getText(); String WHT
getText()
从xpath获取字符串。字符串是“500.00/=”,现在我想将其转换为double以便添加它,但问题是当我使用getText()
时,我也会得到“/”,那么如何排除这个额外的字符串格式
//获取字符串形式的金额
String actualbookfees_amount = driver.findElement(By.xpath("//[@id='charges']/table[2]/tbody/tr[1]/td[2]")).getText();
String WHT_amount= driver.findElement(By.xpath("//[@id='charges']/table[2]/tbody/tr[2]/td[2]")).getText();
String numPlate_amount = driver.findElement(By.xpath("//[@id='charges']/table[2]/tbody/tr[3]/td[2]")).getText();
String registrationfees_amount= driver.findElement(By.xpath("//[@id='charges']/table[2]/tbody/tr[4]/td[2]")).getText();
String Motor_vehicle=driver.findElement(By.xpath("//*[@id='charges']/table[2]/tbody/tr[5]/td[2]")).getText();
String With_amount=driver.findElement(By.xpath("//*[@id='charges']/table[2]/tbody/tr[5]/td[2]")).getText();
//converting amount in integers
double actualbookfees_amount_int = Double.valueOf(actualbookfees_amount);
double WHT_amount_int = Double.valueOf(WHT_amount);
double numPlate_amount_int = Double.valueOf(numPlate_amount);
double registrationfees_amount_int = Double.valueOf(registrationfees_amount);
double Motor_vehicle_int = Double.valueOf(Motor_vehicle);
double With_amount_int = Double.valueOf(With_amount);
double total_amount_int= actualbookfees_amount_int + WHT_amount_int+numPlate_amount_int+ registrationfees_amount_int+Motor_vehicle_int+With_amount_int;
System.out.println(total_amount_int);
一种简单的方法是替换“”的“/=” 例如,您可以执行以下操作:
double actualbookfees_amount_int = Double.valueOf(actualbookfees_amount.replace("/=", ""));
您可以将“,”替换为“”
我认为您应该能够使用java.lang.String中的replaceAll()方法 e、 g do replaceAll()详细信息:将此字符串中与给定的正则表达式匹配的每个子字符串替换为给定的替换项。您可以使用
Double.parseDouble(String s)
要将
String
值转换为double它确实有效,但现在我有了String=“100000.00/=”,现在我如何从字符串中排除逗号。虽然这确实回答了通常如何从String
转换为double
,但OP询问如何使用特定的字符串格式来实现这一点,哪个parseDouble
不允许。
String actualbookfees_amount = driver.findElement(By.xpath("//[@id='charges']/table[2]/tbody/tr[1]/td[2]")).getText().replaceAll("/=","");
Double.parseDouble(String s)