也许是一个琐碎的问题,但我正在空白。
我有类似的东西:
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
中存储一个十进制精度数字。如何让VariableValue
Get
返回自身,但将其格式化为Precision
小数位?例如:
VariableValue
是“ 10.12345”,Precision
是2
:VariableValue
应该是10.12
示例(2):
VariableValue
是“ 10”,Precision
是5
:VariableValue
应该是10.00000
最佳答案
您是说_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; }
}
关于c# - 串到串的精度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19713829/