java.lang.NumberFormatException:对于输入字符串:“488.15 EUR”

问题描述 投票:0回答:1

我进行自动化测试,我想从 id 元素中提取文本(好吧,我使用 comand getText() 是可行的,文本是“488.15 EUR”,在我想用这个 nr 进行操作之后,我想从这个数字中减去 2我收到:488-2 这是我的代码:

int suma = Integer.parseInt(Suma.getText());
            
int rest = suma- 2;
Assert.assertTrue(Suma.getText().equals(rest));

但是我有下一个错误 java.lang.NumberFormatException: For input string: "488.15 EUR" 请帮我解决这个错误。谢谢。

java exception automation assert parseint
1个回答
0
投票

首先。 “488.15 EUR”是一个字符串,不能解析为任何数字,因为它不完全由数字组成。

其次,如果您尝试将其转换为 int,您将在最后丢失那些 .15。使用双代替。它保留了这些价值。

删除最后三个字符,使 suma.getText() 只包含数字

String sumaOnlyNum = suma.getText().substring(0, suma.getText().length() - 4);

将其转换为 double 而不是 int

double suma = Double.parseDouble(sumaOnlyNum);
© www.soinside.com 2019 - 2024. All rights reserved.