W dniu 08.04.2010 23:02, jicman pisze:
Greetings and salutations! Will someone be so kind as to explain why this is happening? ---- import std.stdio; import std.conv; void main() { char[][] strRealVals = [ "14539.34","1230.00","361.62","1613.10","","","0.00" ]; real rTotal = 0; foreach (char[] s; strRealVals) { writefln("Real value is: " ~ s); real r = 0.00; if (s != "") r = std.conv.toReal(s); rTotal += r; } writefln(std.string.toString(rTotal)); writefln(rTotal); } ---- When I run this program, I get this: 16:51:35.54>realtest Real value is: 14539.34 Real value is: 1230.00 Real value is: 361.62 Real value is: 1613.10 Real value is: Real value is: Real value is: 0.00 17744.1 17744.1 ---- If I add these numbers, the outcome should be 17744.06. Any ideas? I am using Digital Mars D Compiler v1.046. thanks, jos�
it is looking ok to me, try this one and thing why it is like that :) import std.stdio; import std.conv; void main() { writefln(17744.06); }