I'm calculating a risk score and rounding to the nearest ten-thousandth with Math::Round
my $score = 1 / $denominator;
my $result = nearest(.0001, $score);
If I export the data with Spreadsheet::WriteExcel the value is displayed correctly in the worksheet.
PNA_Score
0.0928
0.1171
0.0563
0.0563
0.0895
0.0685
However, if I write the data to Mongo using the MongoDB module passing a hashref to insert I'm getting extra digits about 25% of the time:
> db.scores.find( {ScoreName: "PNA" }, {Score: 1})
{ "_id" : ObjectId("5194e668f31ef5f450000097"), "Score" : 0.0928000000
+0000001 }
{ "_id" : ObjectId("5194e668f31ef5f450000099"), "Score" : 0.1171000000
+0000001 }
{ "_id" : ObjectId("5194e668f31ef5f45000009b"), "Score" : 0.0563 }
{ "_id" : ObjectId("5194e668f31ef5f45000009d"), "Score" : 0.2279000000
+0000002 }
{ "_id" : ObjectId("5194e668f31ef5f45000009f"), "Score" : 0.2689000000
+0000003 }
{ "_id" : ObjectId("5194e668f31ef5f4500000a1"), "Score" : 0.2535 }
{ "_id" : ObjectId("5194e668f31ef5f4500000a3"), "Score" : 0.1625 }
{ "_id" : ObjectId("5194e668f31ef5f4500000a5"), "Score" : 0.3165 }
Has anyone ran into this before?