我有+6.63
格式的股票报价百分比变化的字符串表示,以及-0.06
中的一些,我需要检查它是一个积极的变化还是否定的......
将字符串拆分为+和 - 符号后,
我可以申请
Float.parseFloat(stringWithNoSign);
但有没有办法将字符串提取为signed并转换为float
答案 0 :(得分:1)
您可以直接使用Float.parseFloat(stringWithSign)
来回转换。
如果您仍然遇到parseFloat
问题,则应考虑使用locale separator 并尝试this solution。
答案 1 :(得分:0)
Float.parseFloat()
将解析包含该符号的正确浮点数。这个方法在内部使用Float.valueOf()
,后者又将任何有效的java语言浮点文字转换为浮点类型,当然包括你正在处理的类型。
一些信息:
答案 2 :(得分:0)
Float.parseFloat()
将处理负数,但float
是不精确的,可能会导致输出重复小数,原始字符串中不存在,因为存储浮点数的方式内部存在舍入问题。
对于完全数字,使用BigDecimal
类,它将输入,输出和执行算术而不会丢失精度。