2014-04-01 32 views
0

我有一個雙號0,401780062641746將數字轉換和接受任何小數點分隔

我想它格式化爲0.40178006

我使用這個代碼:

string.Format("{0:0.00000000%}", dNum); 

但結果是40.17800626

我希望能夠輸入.,作爲小數點分隔符。所以我使用

NumberStyles.Any 

例子:

double.TryParse(textBox1.Text, NumberStyles.Any, CultureInfo.InvariantCulture, out dNum); 

,但顯然這是一個問題,現在我不能轉換爲數字我想要的方式。
任何想法?

+0

你試試這個 - >'double.TryParse(textBox1.Text,NumberStyles.AllowDecimalPoint,CultureInfo.InvariantCulture,出dNum);' –

+0

@SudhakarTillapudi是的,但這樣一來會不會允許我使用號碼,如0123,但只有0.123 – user3473957

+1

@ user3473957:你是否需要能夠處理分組分隔符?例如,'3,456'可能意味着「在3和4之間」或「在3000和4000之間」。 –

回答

1

如果你只需要應付小數點,所以你不需要處理分組分隔符,最簡單的辦法是隻是點替換任何逗號:

string input = ...; 
input = input.Replace(',', '.'); 
double value; 
if (double.TryParse(input, CultureInfo.InvariantCulture)) 
{ 
    // Use value 
} 
else 
{ 
    // Handle invalid input 
} 

注意,這將僅限作爲小數點分隔符處理.,,並且不會執行任何其他文化特定的解析。

+0

關於格式:'string.Format(「{0:0.00000000}」,dNum);',刪除%符號。 – user3449857

+0

@ user3449857有什麼區別? – user3473957

+0

%將您的值乘以100.用於百分比。 – user3449857

相關問題