string to real conversion losing data
jicman
cabrera_ at _wrc.xerox.com
Thu Apr 8 14:02:26 PDT 2010
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é
More information about the Digitalmars-d-learn
mailing list