Java 如何在输出中同时获得浮点和字符串?
如何获得输出Java 如何在输出中同时获得浮点和字符串?,java,string,groovy,Java,String,Groovy,如何获得输出6214.07500000秒 我正在从文件中读取这些数据,并尝试插入到表中。由于字符串错误,我收到一个错误 我已尝试分析: float t_f = Float.parseFloat(td) 没用 请给出一个同时获取字符串和浮点数的建议。您不能将完整的字符串存储在浮点数中,因为您在最后得到了“秒”,一个解决方案可能是如@notyou在注释中所说的那样,将所有内容存储在字符串中,另一个解决方案是将字母和数字分开,下面是一个简短的代码: String output = "6214.075
6214.07500000秒
我正在从文件中读取这些数据,并尝试插入到表中。由于字符串错误,我收到一个错误
我已尝试分析:
float t_f = Float.parseFloat(td)
没用
请给出一个同时获取字符串和浮点数的建议。您不能将完整的
字符串
存储在浮点数中
,因为您在最后得到了“秒”,一个解决方案可能是如@notyou在注释中所说的那样,将所有内容存储在字符串中,另一个解决方案是将字母和数字分开,下面是一个简短的代码:
String output = "6214.07500000sec";
String letters;
float number;
Scanner scan = new Scanner(output);
number = Float.parseFloat(scan.findInLine("\\d+(\\.\\d+)?"));
letters = scan.next();
System.out.println(number);
System.out.println(letters);
此代码打印:
6214.075
sec
如果需要所有零,则必须将其存储为字符串
def output = '6214.07500000sec'
Map data = (output=~/(\d+(\.\d+)?)(.*)/).find{true}.with{ m->
return [ value: m[1] as Float, measure: m[3] ]
}
println data
结果:
[value:6214.075, measure:sec]
很抱歉float t_f=float.parseFloat(td)将其存储为字符串
;它不能同时是两者。如果您想将str更改为float,请使用toFloat()
。非常感谢您。这就是我要找的“扫描器”