2016-09-06 8 views
0

私は2つの倍数、4.0と4.12345を持っています。私はToStringを使って4.0と4.12345を受け取っていますが、デフォルトのToStringは4.0で0をトリミングします.F/Nでフォーマットを使用しようとすると、パッドしたり丸めたりする必要があります。私が使用できる簡単な汎用ソリューションはありますか?ToStringで末尾のゼロを削除しないでください

ありがとうございます!

+3

どのように有効数字を区別しますか?普通の二重構造は4.0と4.000を区別できません – Martheen

+2

'.ToString(" n1 ")'はあなたのために働きませんか? – stefankmitph

+1

ダブル '4.0'は '4'、' 4.00'、 '4.000'などと等しくなります。' ToString'はあなたが望むものを知りません。フォーマットを使用する必要があります。最も簡単な方法は、doubleを使用せずにゼロから文字列を使用し、計算などのために必要なときにのみdoubleを変換することです。 –

答えて

0

次の形式を使用して、doubleをstringに変換できます。

{0:0.00000} 

その他のゼロは必要に応じて追加できます。

まだ「0.0' を維持
double number = 4.12345; 
string s = number.ToString(".0####"); 

double number = 4.0; 
string s = number.ToString(".0####"); 

することができますあなたは以下の形式を使用することができますToStringメソッド

double myNumber = 4.12345; 
string s = myNumber.ToString("0.00000"); 
Console.WriteLine(s); 
+1

それは '' 4.00000'ではなく '' 4.0''を与えるでしょうか? – Rawling

+0

@ Rawlingしかし、OPは同時に4.12345を望んでいるので、これが唯一の選択肢です。 – active92

2

を使用してコードを更新しました

double myNumber = 4.12345; 
var s = string.Format("{0:0.00000}", myNumber); 
Console.WriteLine(s); 

数字を必要な数だけ追加します。

関連する問題