While casting from string to double, the dot gets removed, eg. for 0.01 after casting to double it gives 1, or for 3.22 it gives 322.
Below is the Code I used.
In log file I get
Before Usage :- 0.01
After it Parse :- 1
while (reader.Read())
{
XmlNodeType nType = reader.NodeType;
if (nType == XmlNodeType.Element && reader.Name == "DepartmentUser")
{
UserData user = new UserData();
while (reader.MoveToNextAttribute())
{
if (reader.Name == "UserName")
{
user.UserName = Convert.ToString(reader.Value);
}
else if (reader.Name == "UserID")
{
user.UserGUID = Convert.ToString(reader.Value);
}
else if (reader.Name == "UserUsage")
{
Logger.TraceLog(LogLevel.Debug, string.Format("Before Usage :- {0}", reader.Value));
//user.DiskUsage = Convert.ToDouble(reader.Value);
user.UserUsage = double.Parse(reader.Value);
Logger.TraceLog(LogLevel.Debug, string.Format("After it Parse :- {0}", user.UserUsage));
}
}
}
}
Is this due to Culture?