2013-10-31 166 views
1

也許是一個微不足道的問題,但我畫了一個空白。字符串與精度字符串

我有類似:

public class Foo 
{ 
     private string _variableValue; 
     public string VariableValue 
     { 
      get 
      { 
       return _variableValue; 
      } 
      set 
      { 
       if (value == _variableValue) return; 
       _variableValue = value; 
      } 
     } 

     public int Precision { get; set; } 
} 

基本上,VariableValue持有雙重價值。我在Precision中存儲了一個小數精度數字。我怎麼能VariableValueGet返回本身,但格式化Precision小數位?

實施例:VariableValue是 「10.12345」,Precision2VariableValue10.12

實施例(2)VariableValue是 「10」,Precision5VariableValue10.00000

+0

你能解釋一下你的問題好,好嗎? – 111WARLOCK111

+0

@ 111WARLOCK111更新後的問題。 – gleng

+0

通過將字符串解析爲double,將其舍入到所需的小數位數並將其作爲字符串返回。 – CodeCaster

回答

5

你的意思是_variableValue是雙?在這種情況下:

public class Foo 
{ 
    private double _variableValue; 
    public string VariableValue 
    { 
     get 
     { 
      return _variableValue.ToString("N" + Precision); 
     } 
     set 
     { 
      if (value == _variableValue.ToString()) return; 
      Double.TryParse(value, _variableValue); // in case of non-numerics 
     } 
    } 

    public int Precision { get; set; } 
} 

如果'_variableValue」是不是雙...然後它有點怪異:

public class Foo 
{ 
    private string _variableValue; 
    public string VariableValue 
    { 
     get 
     { 
      double doubleValue; 
      Double.TryParse(_variableValue, out doubleValue); // in the case of non-numerics 
      return doubleValue.ToString("N" + Precision); 
     } 
     set 
     { 
      if (value == _variableValue) return; 
      _variableValue = value; 
     } 
    } 

    public int Precision { get; set; } 
} 
+0

不知道這是非常簡單的 – Jonesopolis

+0

_variableValue是不是一個雙。 @Jonesy – gleng

+0

它改變了什麼,如果你採取第一種方法雖然......? – Jonesopolis