我在使用 Spring 和 Java 将字符串解析为 double 时遇到了一些问题。这与 Spring 并不完全相关,但它可能会让您陷入困境。
我有一个 CustomNumberEditor,用于轻松将字符串解析为 double 。 java.text.DecimalFormat 用作将 double 解析为字符串的十进制格式。但是,当您执行 numberFormat.parse(stringDouble) 时,如果字符串以数字开头,后跟字母,则返回的值是数字。即 12a 被解析为 12。对我来说,这显然是错误的,我想轻松解决这个问题。
我想这应该以其他类型的数字格式、属性或其他东西来实现,但我找不到它。有什么想法吗?
最佳答案
您应该使用version of the parse method taking a ParsePosition
as argument 。解析完成后,该位置的索引将更新为最后使用的字符之后的索引。因此,您可以检查该索引是否等于字符串的长度。如果不是,则意味着整个字符串尚未用于生成返回的数字。
关于java - 字符串转 double Java错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6925762/