вот в этом и вопрос, по ссылке есть пример с хвостом, а если проверить, то хвоста нет. почему? ответ по ссылке не корректный, или монга стала лучше представлять числа за прошедшие 6 лет. пример со сложением 0.1+0.2 дает меньшее значение хвоста чем по ссылке
Очень даже хорошо вижу я этот хвост
> db.coll.drop()
> db.coll.insertMany([{a: Double(0.1), b: Double(0.2)}, {a: 0.1, b: 0.2}, {a: Decimal128("0.1"), b: Decimal128("0.2")}])
{
acknowledged: true,
insertedIds: {
'0': ObjectId("64348d5865688dcca57c146a"),
'1': ObjectId("64348d5865688dcca57c146b"),
'2': ObjectId("64348d5865688dcca57c146c")
}
}
> db.coll.aggregate({$set: {add: {$add: ["$a", "$b"]}, type: {"$type": "$a"}}})
{
_id: ObjectId("64348d5865688dcca57c146a"),
a: 0.1,
b: 0.2,
add: 0.30000000000000004,
type: 'double'
}
{
_id: ObjectId("64348d5865688dcca57c146b"),
a: 0.1,
b: 0.2,
add: 0.30000000000000004,
type: 'double'
}
{
_id: ObjectId("64348d5865688dcca57c146c"),
a: Decimal128("0.1"),
b: Decimal128("0.2"),
add: Decimal128("0.3"),
type: 'decimal'
}