我正在编写一些代码用于导致问题的 Xpath 查询。我正在尝试从列表中读取一个随机名称,但是 float (x) 偶尔会返回指数符号。
Random r = new Random();
float x = r.nextFloat();
final String expression = "(/list/name[@minLevel<=" + minLevel + "])" +
"[(" + x + " * count(/list/name[@minLevel<=" + minLevel + "])) +1]";
每隔一段时间,表达式就等于:
(/name/list[@minLevel<=11])[(5.478859E-4 * count(/name/list[@minLevel<=11])) +1]
显然 xpath 不使用指数符号进行数学运算,因为我收到了这个错误:
javax.xml.transform.TransformerException: 5.478859E-4 could not be formatted to a number!
任何有关如何防止这种情况的帮助将不胜感激。