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?

In reply to Unexpected results when storing a Math::Round nearest value in MongoDB by Anonymous Monk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.