java - 字符串转 double Java错误

标签 java spring parsing double number-formatting

我在使用 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/

相关文章:

java - 为什么 Java 不优化 String.split ("regex") 对字符串文字的调用?

java - Mockito 将Mocks注入(inject)静态对象

java - 如何使用 RestTemplate 转发大文件?

Spring Data JPA save() 抛出 NPE

c# - 通过属性值访问 xml 元素

java - 获取文件过早结束异常

java - 语言之间的服务器客户端首选项

java - 如何处理 Spring 包裹的 hibernate 异常?

java - 如何从 Java Spring 消费者应用程序调用 Java Spring 实用程序 jar

java - java中JsonPath解析json错误