<div dir="ltr">Ignore my eager idiocy, that is an integer conversion of the tag number. The culture comment was premature, I was on the wrong track.<div>-.-</div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><font face="arial, helvetica, sans-serif">Ruaan Viljoen</font><div><br></div></div></div>
<br><div class="gmail_quote">On 2 December 2014 at 07:49, Ruaan Viljoen <span dir="ltr"><<a href="mailto:ruaanv@gmail.com" target="_blank">ruaanv@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">What is your decimal settings on your machine running the quickfix engine? It appears to be a culture issue - if your dev machine uses ',' as separator, it won't parse numbers using another separator correctly. If this is the case, we should consider changing conversions of decimals to use InvariantCulture instead:<div><br></div><div>Convert.ToInt32(msgstr.Substring(pos, tagend - pos),System.Globalization.CultureInfo.InvariantCulture);<br></div><div><br></div><div>Hope that helps Mark,</div><div><br></div><div>Regards</div><div>Ruaan</div></div><div class="gmail_extra"><br clear="all"><div><div><font face="arial, helvetica, sans-serif">Ruaan Viljoen</font><div><br></div></div></div>
<br><div class="gmail_quote"><div><div class="h5">On 1 December 2014 at 22:59, Jeays, Mark <span dir="ltr"><<a href="mailto:Mark.Jeays@bmo.com" target="_blank">Mark.Jeays@bmo.com</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal">Hi List,<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">I've run into the following error trying to parse a TradeCaptureReport using QuickFix/n<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">QuickFix.MessageParseError: Could not parse message: Error at position (355) while parsing msg<u></u><u></u></p><p class="MsoNormal">…<u></u><u></u></p><p class="MsoNormal">System.FormatException: Input string was not in a correct format.<u></u><u></u></p><p class="MsoNormal"> at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)<u></u><u></u></p><p class="MsoNormal"> at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)<u></u><u></u></p><p class="MsoNormal"> at System.Convert.ToInt32(String value)<u></u><u></u></p><p class="MsoNormal"> at QuickFix.Message.ExtractField(String msgstr, Int32& pos, DataDictionary sessionDD, DataDictionary appDD)<u></u><u></u></p><p class="MsoNormal"> --- End of inner exception stack trace ---<u></u><u></u></p><p class="MsoNormal"> at QuickFix.Message.ExtractField(String msgstr, Int32& pos, DataDictionary sessionDD, DataDictionary appDD)<u></u><u></u></p><p class="MsoNormal"> at QuickFix.Message.ExtractField(String msgstr, Int32& pos)<u></u><u></u></p><p class="MsoNormal"> at QuickFix.Session.Next(String msgStr)<u></u><u></u></p><p class="MsoNormal"> at QuickFix.SocketInitiatorThread.ProcessStream()<u></u><u></u></p><p class="MsoNormal"> at QuickFix.SocketInitiatorThread.Read()<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Position 355 corresponds to the decimal place in an Amt field for accrued interest:<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">159=120865.75<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">We've also noticed this same issue for another Amt field, NetMoney.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">These are the Data definitions for the fields:<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal"><field number='118' name='NetMoney' type='AMT'/><u></u><u></u></p><p class="MsoNormal"><field number='159' name='AccruedInterestAmt' type='AMT'/><u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">It seems that QF is interpreting these as an integer instead of as a decimal. The specification states that the Amt data type has a float as a base type and the example shows two decimal places.<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">How would I get QF to parse this as a decimal?<u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Thanks,<span><font color="#888888"><u></u><u></u></font></span></p><span><font color="#888888"><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Mark<u></u><u></u></p></font></span></div></div><br></div></div>_______________________________________________<br>
Quickfixn mailing list<br>
<a href="mailto:Quickfixn@lists.quickfixn.com" target="_blank">Quickfixn@lists.quickfixn.com</a><br>
<a href="http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com" target="_blank">http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>