Index: branches/3.0/sources/HeuristicLab.Constraints/DoubleBoundedConstraint.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.Constraints/DoubleBoundedConstraint.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.Constraints/DoubleBoundedConstraint.cs	(revision 345)
@@ -136,5 +136,5 @@
       XmlNode node = base.GetXmlNode(name, document, persistedObjects);
       XmlAttribute lb = document.CreateAttribute("LowerBound");
-      lb.Value = LowerBound.ToString(CultureInfo.InvariantCulture);
+      lb.Value = LowerBound.ToString("r", CultureInfo.InvariantCulture);
       XmlAttribute lbi = document.CreateAttribute("LowerBoundIncluded");
       lbi.Value = lowerBoundIncluded.ToString();
@@ -142,5 +142,5 @@
       lbe.Value = lowerBoundEnabled.ToString();
       XmlAttribute ub = document.CreateAttribute("UpperBound");
-      ub.Value = upperBound.ToString(CultureInfo.InvariantCulture);
+      ub.Value = upperBound.ToString("r", CultureInfo.InvariantCulture);
       XmlAttribute ubi = document.CreateAttribute("UpperBoundIncluded");
       ubi.Value = upperBoundIncluded.ToString();
Index: branches/3.0/sources/HeuristicLab.Constraints/DoubleBoundedConstraintView.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.Constraints/DoubleBoundedConstraintView.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.Constraints/DoubleBoundedConstraintView.cs	(revision 345)
@@ -69,5 +69,5 @@
         ubEnabledCheckBox.Enabled = false;
       } else {
-        lbTextBox.Text = DoubleBoundedConstraint.LowerBound + "";
+        lbTextBox.Text = DoubleBoundedConstraint.LowerBound.ToString("r");
         lbTextBox.Enabled = DoubleBoundedConstraint.LowerBoundEnabled;
         lbIncludedCheckBox.Checked = DoubleBoundedConstraint.LowerBoundIncluded;
@@ -76,5 +76,5 @@
         lbEnabledCheckBox.Enabled = true;
 
-        ubTextBox.Text = DoubleBoundedConstraint.UpperBound + "";
+        ubTextBox.Text = DoubleBoundedConstraint.UpperBound.ToString("r");
         ubTextBox.Enabled = DoubleBoundedConstraint.UpperBoundEnabled;
         ubIncludedCheckBox.Checked = DoubleBoundedConstraint.UpperBoundIncluded;
Index: branches/3.0/sources/HeuristicLab.Data/ArrayDataBaseView.Designer.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.Data/ArrayDataBaseView.Designer.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.Data/ArrayDataBaseView.Designer.cs	(revision 345)
@@ -105,5 +105,5 @@
     private System.Windows.Forms.Label sizeLabel;
     private System.Windows.Forms.TextBox lengthTextBox;
-    private System.Windows.Forms.DataGridView dataGridView;
+    protected System.Windows.Forms.DataGridView dataGridView;
   }
 }
Index: branches/3.0/sources/HeuristicLab.Data/ArrayDataBaseView.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.Data/ArrayDataBaseView.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.Data/ArrayDataBaseView.cs	(revision 345)
@@ -64,5 +64,5 @@
         dataGridView.RowCount = length;
         for (int i = 0; i < length; i++) {
-          dataGridView.Rows[i].Cells[0].Value = ArrayDataBase.Data.GetValue(i); ;
+          dataGridView.Rows[i].Cells[0].Value = ArrayDataBase.Data.GetValue(i);
         }
       } else {
Index: branches/3.0/sources/HeuristicLab.Data/ConstrainedDoubleDataView.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.Data/ConstrainedDoubleDataView.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.Data/ConstrainedDoubleDataView.cs	(revision 345)
@@ -62,5 +62,5 @@
       } else {
         dataTextBox.Enabled = true;
-        dataTextBox.Text = ConstrainedDoubleData.ToString();
+        dataTextBox.Text = ConstrainedDoubleData.Data.ToString("r");
       }
     }
Index: branches/3.0/sources/HeuristicLab.Data/DoubleArrayData.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.Data/DoubleArrayData.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.Data/DoubleArrayData.cs	(revision 345)
@@ -65,5 +65,5 @@
       for(int i = 0; i < Data.Length; i++) {
         builder.Append(";");
-        builder.Append(Data[i].ToString(format));
+        builder.Append(Data[i].ToString("r", format));
       }
       if(builder.Length > 0)
Index: branches/3.0/sources/HeuristicLab.Data/DoubleArrayDataView.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.Data/DoubleArrayDataView.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.Data/DoubleArrayDataView.cs	(revision 345)
@@ -37,4 +37,6 @@
     public DoubleArrayDataView() {
       InitializeComponent();
+      // round-trip format for all cells
+      dataGridView.DefaultCellStyle.Format = "r";
     }
     public DoubleArrayDataView(DoubleArrayData doubleArrayData)
Index: branches/3.0/sources/HeuristicLab.Data/DoubleData.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.Data/DoubleData.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.Data/DoubleData.cs	(revision 345)
@@ -54,5 +54,5 @@
     public override XmlNode GetXmlNode(string name, XmlDocument document, IDictionary<Guid,IStorable> persistedObjects) {
       XmlNode node = base.GetXmlNode(name, document, persistedObjects);
-      node.InnerText = Data.ToString(CultureInfo.InvariantCulture.NumberFormat);
+      node.InnerText = Data.ToString("r", CultureInfo.InvariantCulture.NumberFormat);
       return node;
     }
Index: branches/3.0/sources/HeuristicLab.Data/DoubleDataView.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.Data/DoubleDataView.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.Data/DoubleDataView.cs	(revision 345)
@@ -59,5 +59,5 @@
       } else {
         dataTextBox.Enabled = true;
-        dataTextBox.Text = DoubleData.ToString();
+        dataTextBox.Text = DoubleData.Data.ToString("r");
       }
     }
Index: branches/3.0/sources/HeuristicLab.Data/DoubleMatrixData.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.Data/DoubleMatrixData.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.Data/DoubleMatrixData.cs	(revision 345)
@@ -81,5 +81,5 @@
         for (int j = 0; j < Data.GetLength(1); j++) {
           builder.Append(";");
-          builder.Append(Data[i, j].ToString(format));
+          builder.Append(Data[i, j].ToString("r", format));
         }
       }
Index: branches/3.0/sources/HeuristicLab.Data/DoubleMatrixDataView.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.Data/DoubleMatrixDataView.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.Data/DoubleMatrixDataView.cs	(revision 345)
@@ -37,4 +37,6 @@
     public DoubleMatrixDataView() {
       InitializeComponent();
+      // round-trip format for all cells
+      dataGridView.DefaultCellStyle.Format = "r";
     }
     public DoubleMatrixDataView(DoubleMatrixData doubleMatrixData)
Index: branches/3.0/sources/HeuristicLab.Data/MatrixDataBaseView.Designer.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.Data/MatrixDataBaseView.Designer.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.Data/MatrixDataBaseView.Designer.cs	(revision 345)
@@ -132,5 +132,5 @@
     private System.Windows.Forms.Label rowsLabel;
     private System.Windows.Forms.TextBox rowsTextBox;
-    private System.Windows.Forms.DataGridView dataGridView;
+    protected System.Windows.Forms.DataGridView dataGridView;
     private System.Windows.Forms.TextBox columnsTextBox;
     private System.Windows.Forms.Label columnsLabel;
Index: branches/3.0/sources/HeuristicLab.DataAnalysis/Dataset.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.DataAnalysis/Dataset.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.DataAnalysis/Dataset.cs	(revision 345)
@@ -66,5 +66,5 @@
     public double[] Samples {
       get { return samples; }
-      set { 
+      set {
         samples = value;
         CreateDictionaries();
@@ -81,5 +81,5 @@
     public Dataset() {
       Name = "-";
-      VariableNames = new string[] {"Var0"};
+      VariableNames = new string[] { "Var0" };
       Columns = 1;
       Rows = 1;
@@ -146,5 +146,5 @@
       rows = int.Parse(node.Attributes["Dimension1"].Value, CultureInfo.InvariantCulture.NumberFormat);
       columns = int.Parse(node.Attributes["Dimension2"].Value, CultureInfo.InvariantCulture.NumberFormat);
-      
+
       VariableNames = ParseVariableNamesString(node.Attributes["VariableNames"].Value);
 
@@ -154,5 +154,5 @@
       for(int row = 0; row < rows; row++) {
         for(int column = 0; column < columns; column++) {
-          if(double.TryParse(tokens[row * columns + column], NumberStyles.Float, CultureInfo.InvariantCulture.NumberFormat, out samples[row*columns + column]) == false) {
+          if(double.TryParse(tokens[row * columns + column], NumberStyles.Float, CultureInfo.InvariantCulture.NumberFormat, out samples[row * columns + column]) == false) {
             throw new FormatException("Can't parse " + tokens[row * columns + column] + " as double value.");
           }
@@ -171,5 +171,5 @@
         for(int column = 0; column < columns; column++) {
           builder.Append(";");
-          builder.Append(samples[row*columns+column].ToString(format));
+          builder.Append(samples[row * columns + column].ToString("r",format));
         }
       }
@@ -180,9 +180,9 @@
     private string GetVariableNamesString() {
       string s = "";
-      for (int i = 0; i < variableNames.Length; i++) {
+      for(int i = 0; i < variableNames.Length; i++) {
         s += variableNames[i] + "; ";
       }
 
-      if (variableNames.Length > 0) {
+      if(variableNames.Length > 0) {
         s = s.TrimEnd(';', ' ');
       }
@@ -192,10 +192,10 @@
     private string[] ParseVariableNamesString(string p) {
       p = p.Trim();
-      string[] tokens = p.Split(new char[] {';'}, StringSplitOptions.RemoveEmptyEntries);
+      string[] tokens = p.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
       return tokens;
     }
 
     public double GetMean(int column) {
-      return GetMean(column, 0, Rows-1);
+      return GetMean(column, 0, Rows - 1);
     }
 
@@ -216,5 +216,5 @@
 
     public double GetRange(int column) {
-      return GetRange(column, 0, Rows-1);
+      return GetRange(column, 0, Rows - 1);
     }
 
Index: branches/3.0/sources/HeuristicLab.DataAnalysis/DatasetView.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.DataAnalysis/DatasetView.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.DataAnalysis/DatasetView.cs	(revision 345)
@@ -41,4 +41,6 @@
       InitializeComponent();
       openFileDialog = new OpenFileDialog();
+
+      dataGridView.DefaultCellStyle.Format = "r";
     }
 
Index: branches/3.0/sources/HeuristicLab.Functions/FunctionView.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.Functions/FunctionView.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.Functions/FunctionView.cs	(revision 345)
@@ -285,5 +285,5 @@
 
       public void Visit(Constant constant) {
-        prefix += currentIndend + "[T]Constant(" + constant.Value.Data.ToString() + ";0;0)";
+        prefix += currentIndend + "[T]Constant(" + constant.Value.Data.ToString("r") + ";0;0)";
       }
 
@@ -333,5 +333,5 @@
 
       public void Visit(HeuristicLab.Functions.Variable variable) {
-        prefix += currentIndend + "[T]Variable(" + variable.Weight + ";" + variable.VariableIndex + ";" + -variable.SampleOffset + ")";
+        prefix += currentIndend + "[T]Variable(" + variable.Weight.ToString("r") + ";" + variable.VariableIndex.ToString("r") + ";" + (-variable.SampleOffset).ToString("r") + ")";
       }
 
Index: branches/3.0/sources/HeuristicLab.Random/NormalDistributedRandom.cs
===================================================================
--- branches/3.0/sources/HeuristicLab.Random/NormalDistributedRandom.cs	(revision 302)
+++ branches/3.0/sources/HeuristicLab.Random/NormalDistributedRandom.cs	(revision 345)
@@ -516,9 +516,9 @@
 
       XmlNode muNode = document.CreateNode(XmlNodeType.Element, "Mu", null);
-      muNode.InnerText = mu.ToString(CultureInfo.InvariantCulture);
+      muNode.InnerText = mu.ToString("r", CultureInfo.InvariantCulture);
       node.AppendChild(muNode);
 
       XmlNode sigmaNode = document.CreateNode(XmlNodeType.Element, "Sigma", null);
-      sigmaNode.InnerText = sigma.ToString(CultureInfo.InvariantCulture);
+      sigmaNode.InnerText = sigma.ToString("r", CultureInfo.InvariantCulture);
       node.AppendChild(sigmaNode);
 
