如何获取输出6214.07500000sec
我正在从文件中读取此数据并尝试插入表中。我因为字符串错误而收到错误。
我试图解析:
float t_f = Float.parseFloat(td)
没有帮助。
请提出获取字符串和浮动号码的建议。
答案 0 :(得分:0)
您不能将完整String
存储在float
中,因为您已获得" sec"最后,一个解决方案可能就像@notyou在评论中所说的那样将所有内容存储在string
中,另一种解决方案可能是将字母与数字分开,这里有一个简短的代码可以解决这个问题:
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
如果您想要所有零,则必须将其存储为String
。
答案 1 :(得分:0)
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]