英文:
Converting a String to Float : java.lang.numberformatexception for input string : "10.00"
问题
基本上我想要将浮点数价格(例如:20.0)变为20.00,多加一个零。所以我尝试在下面的代码中首先添加一个额外的零,这将把它转换为字符串,然后再将其转换回浮点数,因为我的对象类型需要将其存储为20.00作为浮点数。
Float lowest = productDetail1.getProductSummary().getPrice().getLowest();
String lowestPrice = String.format("$%.2f", lowest);
try {
Float floatVal = Float.valueOf(lowestPrice).floatValue();
productDetail1.getProductSummary().getPrice().setLowest(floatVal);
}catch (NumberFormatException e){
LOGGER.error("Number Format Exception " + e.getMessage());
}
所以我进行了调试,发现前两行代码运行良好,但是第3行出现错误:-
Float floatVal = Float.valueOf(lowestPrice).floatValue();
我得到的错误是:java.lang.NumberFormatException: For input string: "$10.00"
希望有人能够帮助我解决这个问题。一个书面的代码示例将作为解决方案很有帮助。
英文:
So basically i want my float number price (eg:- 20.0) to be 20.00, with an additional zero. So what i tried to do below here is first to add an extra zero, which results in converting it to a string and then convert it back to float because my object type needs to store it as 20.00 as a Float.
Float lowest = productDetail1.getProductSummary().getPrice().getLowest();
String lowestPrice = String.format("$%.2f", lowest);
try {
Float floatVal = Float.valueOf(lowestPrice).floatValue();
productDetail1.getProductSummary().getPrice().setLowest(floatVal);
}catch (NumberFormatException e){
LOGGER.error("Number Format Exception " + e.getMessage());
}
So i debugged it, and i found out that the first 2 lines of codes work fine, but an error is thrown at line 3 :-
Float floatVal = Float.valueOf(lowestPrice).floatValue();
The error im getting is :-
java.lang.numberformatexception for input string : "$10.00"
I hope someone can help me with this. A written code example will be helpful as a solution.
答案1
得分: 1
无法将 $
解析为数字的一部分。在解析之前,您需要将其从字符串中移除。
例如:
Float floatVal = Float.valueOf(lowestPrice.substring(1)).floatValue();
英文:
It is not possible to parse $
as part of the number. You need to remove that from the String before parsing it.
For example
Float floatVal = Float.valueOf(lowestPrice.substring(1)).floatValue();
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论