将字符串转换为浮点:输入字符串的java.lang.numberformatexception:";10.00“;
所以基本上我希望我的浮点数价格(例如:-20.0)是20.00,再加上一个零。因此,我在下面尝试做的是首先添加一个额外的零,这将导致将其转换为字符串,然后将其转换回float,因为我的对象类型需要将其存储为20.00作为float将字符串转换为浮点:输入字符串的java.lang.numberformatexception:";10.00“;,java,spring,string,type-conversion,Java,Spring,String,Type Conversion,所以基本上我希望我的浮点数价格(例如:-20.0)是20.00,再加上一个零。因此,我在下面尝试做的是首先添加一个额外的零,这将导致将其转换为字符串,然后将其转换回float,因为我的对象类型需要将其存储为20.00作为float Float lowest=productDetail1.getProductSummary().getPrice().getLowest(); String lowestPrice=String.format(“$%.2f”,最低); 试一试{ Float float
Float lowest=productDetail1.getProductSummary().getPrice().getLowest();
String lowestPrice=String.format(“$%.2f”,最低);
试一试{
Float floatVal=Float.valueOf(lowerstprice.floatValue();
productDetail1.getProductSummary().getPrice().setLowest(floatVal);
}捕获(数字格式){
LOGGER.error(“数字格式异常”+e.getMessage());
}
所以我调试了它,发现前两行代码工作正常,但在第3行抛出了一个错误:-
Float floatVal=Float.valueOf(lowestPrice.floatValue()代码>
我得到的错误是:-
java.lang.numberformatexception用于输入字符串:“$10.00”
我希望有人能帮我。编写代码示例将有助于解决此问题。无法将$
作为数字的一部分进行解析。您需要在解析字符串之前将其从字符串中删除。
比如说
Float floatVal = Float.valueOf(lowestPrice.substring(1)).floatValue();
在你的最低价格中有一个美元符号。为什么你需要它是.00作为浮动?它只是一个显示器,您可以在显示器上用%.2f
转换它time@Greedo我需要在html中显示它,我将它作为model.attribute发送,所以我需要在java中将它转换为.00本身20.0
和20.00
是完全相同的float
数字。您不能让浮点值等于20.00
,也不能不等于20.0
。现在,“20.0”
和“20.00”
是相同数字的不同字符串表示形式。浮点没有精度(点后的小数),只是一个近似值,1000*x其中x为0.1将显示近似误差。还有一个你被绊倒的美元角色。试试BigDecimal。好的,我试过了,但我还是把它转换回了float。,值又变成了20.0,而不是20.00,你有什么解决办法吗@Turamarth20.0
和20.00
是完全相同的float
数字。您不能让浮点值等于20.00
,也不能不等于20.0
。现在,“20.0”
和“20.00”
是相同数字的不同字符串表示形式。是的,thnx,但我必须创建一个bean类,并将值“20.00”作为字符串发送。