java - 将混合字符串转换为 double

标签 java

如何转换此字符串:

String str = "***123.45***";

对于这个双倍:

double d = 123.45; 

当我使用 valueOf 时

double d = Double.valueOf("***123.04***");

或者parseDouble

double d = Double.parseDouble("***123.45***");

它将抛出 java.lang.NumberFormatException: For input string: ""123.04"" 因为该字符串不仅仅包含数字。我需要去掉星号。

最佳答案

尝试替换 api 来替换输入中的所有“*”,如下所示:

double d = Double.valueOf("***123.04***".replace("*", ""));
System.out.println(d);

关于java - 将混合字符串转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26716649/

相关文章:

java - Eclipse 是否有任何理由将 while 循环中的赋值变量显示为有效?

java - 删除 jdo 后是否重用 IdGeneratorStrategy.Identity 值

java - 如何使用 MockMvc 对象测试使用 Post 方法检索数据的 Controller ?

java - 在没有 gradle 的情况下构建和运行 grpc-java 示例

java - 某些设备出现错误 "android.view.InflateException: Binary XML file line #2: Binary XML file line #2: Error inflating class <unknown>"

java - Swing 和 unicode 字符

java - 从声明依赖关系到在Gradle中实际使用它

java - Spark 无法将 JSON Integer 映射到 Java Integer

java - 如何访问子类中抽象类的重写的非静态方法

java - 如何正确实现定时器?