2016-09-06 4 views
0

두 개의 double, 4.0 및 4.12345가 있습니다. 4.0, 4.12345를 받기 위해 ToString을 사용하고 싶지만, 기본 ToString은 4.0에서 0을 다듬습니다. F/N 형식을 사용하려고하면 패드를 두거나 라운드해야합니다. 사용할 수있는 쉬운 일반 솔루션이 있습니까?ToString에서 후행 0을 지우지 마십시오.

감사합니다.

+3

어떻게 유효 자릿수를 구별합니까? 일반 이중 구조는 4.0과 4.000을 구별 할 수 없습니다 – Martheen

+2

'.ToString ("n1")'이 (가) 작동하지 않습니다? – stefankmitph

+1

double'4.0'은'4', 4.00', 4.000' 등입니다. ToString은 당신이 원하는 것을 알지 못합니다. 형식을 사용해야합니다. 가장 쉬운 방법은 double을 사용하지 않고 처음부터 문자열을 사용하고 계산할 때 필요할 때마다 이중으로 변환하는 것입니다. –

답변

0

아래 형식을 사용하여 double을 string으로 변환 할 수 있습니다.

{0:0.00000} 

더 많은 0을 필요에 따라 추가 할 수 있습니다.

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

업데이트 된 코드를 사용하여 ToString

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

그러면 '4.0'이 아닌'4.00000'이 표시됩니다. – Rawling

+0

@ Rawling하지만 OP가 동시에 4.12345를 원하기 때문에 이것이 유일한 선택입니다. – active92

2

당신은 아래의 형식을 사용할 수 있습니다

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

여전히 '0.0'유지 :

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

당신은 할 수 있습니다 원하는만큼 많은 해시를 추가하십시오.