ユーザーによって指定された数字が常にn
の倍数をフォーマットする方法はありますか?ユーザーは常に4桁の数字を表示したい場合は、例として以下の数字を取るたとえば4桁のみ表示するための倍精度書式設定
:
Original Formatted
------- ---------
3.42421 3.424
265.6250 265.6
812.50 812.5
12.68798 12.68
0.68787 0.687
私はこれを作ったが、それはちょうど、フローティングポイント数が可能になります!それは私が望んでいたものではありません!
public string ToEngV(double d, int percision = 0)
{
string zeros = string.Empty;
if (percision <= 0)
{
zeros += "0";
}
else if (percision > 0)
{
for (int i = 0; i < percision; i++)
{
zeros += "0";
}
}
return String.Format("{0:0." + zeros + "}", d)
}
私は812.50
のような数の上記のメソッドを呼び出すと、私は(これは、今私はフォーマットに行き、すべての数字のために使用されている)に精度を設定して想像してみてください。もちろん出力は812.5
になります。しかし、私は1.61826
のように別の番号を与える場合、私は1.6
を取得し、これは私がユーザーにこれらの番号を表示し、ページ内の書式遺跡。私はそれが必要です1.618
私は常にN
数字を表示する方法をしたい!
string FmtDbl(double num, int digits)
{
digits++; // To include decimal separator
string ret = num.ToString();
if (ret.Length > digits) return ret.Substring(0, digits);
else return ret + new String('0', digits - ret.Length);
}
注あなたの番号が複数桁整数の桁数を持っている場合、これは動作しないこと:
ここで動作しないものを指定できますか?あなたは精度が失われていますか? – Tigran
私はもっともっと今説明しようとしました...はい私も前列を失います –
すみません、812.50はどのようにして812.1になりましたか? –