gpt4 book ai didi

java - 带有 EX、EEX、EXP 或 EE 科学记数法的字符串要加倍

转载 作者:行者123 更新时间:2023-12-02 01:34:49 24 4
gpt4 key购买 nike

在我的代码中,我从不同来源接收作为字符串的数值。其中一个消息来源正在向我发送这种值:

-6.535402781EX-05

经过几次测试,我知道 EX 格式不是由 Double.valueOf() 方法处理的。抛出 NumberFormatException

我找到了简单的解决方法:

 String val = "-6.535402781EX-05".replace("X", ""); 

实际上它正在工作,但我不确定这是否是最好的解决方案。我还看到了EEXEEEXP。问题:如何针对这种边缘情况保护我的代码?

最佳答案

如果这些是唯一可能的值,您可能希望将 replaceAll 与正则表达式一起使用,而不是 replace:

String[] val  = {"-6.535402781EX-05","-6.535402781EEX-05","-6.535402781EE-05","-6.535402781EXP-05"};
for(String v :val){
System.out.println(v.replaceAll("[EXP]{2,}", "E"));
}

关于java - 带有 EX、EEX、EXP 或 EE 科学记数法的字符串要加倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55379650/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com