Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将mongo十进制数转换为java BigDecimal_Java_Mongodb_Bigdecimal - Fatal编程技术网

将mongo十进制数转换为java BigDecimal

将mongo十进制数转换为java BigDecimal,java,mongodb,bigdecimal,Java,Mongodb,Bigdecimal,我正在执行Mongo查询。我的结果包含小数数据。 如何在java小数属性中设置成本数据 { "macroType" : "LIBRI", "costType" : { "$numberDecimal" : "4.60" }, "count" : 3 } 这是我添加到列表中的文档。 在下面的代码中,ai是我的列表 我想在BigDecimal属性中设置costType 现在我不知道该怎么做。 提前谢谢 for (int i = 0; i < ai.si

我正在执行Mongo查询。我的结果包含小数数据。 如何在java小数属性中设置成本数据

{ 
  "macroType" : "LIBRI", 
  "costType" : { 
     "$numberDecimal" : "4.60" 
  }, 
  "count" : 3 
}
这是我添加到列表中的文档。 在下面的代码中,ai是我的列表

我想在BigDecimal属性中设置
costType


现在我不知道该怎么做。 提前谢谢

for (int i = 0; i < ai.size(); i++) {
  String json = new GsonBuilder().create().toJson(ai.get(i));
  JsonElement je = new com.google.gson.JsonParser().parse(json);
  JsonObject root = je.getAsJsonObject();
  JsonElement je2 = root.get("costType");
}  
for(int i=0;i
从文档中的数据库获取数据后, 您可以通过以下方式将numberDecimal字段转换为BigDecimal

BigDecimal cost = new BigDecimal(document.get("costType",Document.class).getString("$numberDecimal"));

System.out.print(cost);
System.out.println(cost.getClass());
O/p:
4.60类java.math.BigDecimal

如果我的答案解决了您的问题,请将其标记为已接受,以便开发人员能够了解这一点,并且不要将时间浪费在已解决的问题上。