我试图复制Java的DecimalFormat
类的一个子集。以下是我想到的。这是否适合所有人?在C#中复制Java DecimalFormat
public class DecimalFormat : NumberFormat
{
int _maximumFractionDigits;
int _minimumFractionDigits;
string _format;
void RebuildFormat()
{
_format = "{0:0.";
_format += new string ('0', _minimumFractionDigits);
if (_maximumFractionDigits > _minimumFractionDigits) {
_format += new string ('#', _maximumFractionDigits -
_minimumFractionDigits);
}
_format += "}";
}
public override string format (object value)
{
return string.Format (_format, value);
}
public override void setMaximumFractionDigits (int n)
{
_maximumFractionDigits = n;
RebuildFormat();
}
public override void setMinimumFractionDigits (int n)
{
_minimumFractionDigits = n;
RebuildFormat();
}
public override void setGroupingUsed (bool g)
{
}
public static NumberFormat getInstance()
{
return new DecimalFormat();
}
}
在.NET中格式化小数点是非常容易的。你为什么要模仿一个让它更复杂的Java类? – Powerlord 2010-05-27 19:34:23
@R。 Bemrose:是.....原因? – Randolpho 2010-05-27 19:38:41
@ R. Bemrose:为什么人们使用SQL Server?为什么玫瑰是红色的?我们都有我们的商业理由。就我而言,我有很多来自Java的具有特定格式要求的测试代码。我不想把所有这些领域知识都抛出窗外。 – 2010-05-27 19:40:53