2013-11-15 70 views
0

我之前問過類似的問題,但現在我有更好的方式來提問。我正在計算器上工作。我需要將我的分區格式化爲小數點後8位。這是我正在使用的代碼,並嘗試製作自定義格式。由於某種原因,它忽略了我的格式。我是否按照我寫這部分代碼的方式做錯了什麼?C#號碼格式

private void btnDivide_Click(object sender, System.EventArgs e) 
    { 
     calc.Divide(displayValue); 
     newValue = true; 
     decimalEntered = false; 
     displayValue = calc.CurrentValue; 
     txtDisplay.Text = displayValue.ToString(string.Format("{####.########}")); 
    } 

我也試過這個例子,沒有運氣。

private void btnDivide_Click(object sender, System.EventArgs e) 
    { 
     calc.Divide(displayValue); 
     newValue = true; 
     decimalEntered = false; 
     displayValue = calc.CurrentValue; 
     txtDisplay.Text = displayValue.ToString(string.Format("f8")); 
    } 

我不知道如果我的錯誤是我寫了這個方式,或者如果它是在其他地方在我的計劃,但你的回答可以幫我縮小它。

這是我的理解這兩種格式「應該」完成相同的事情。然後,我是新的。

回答

1

我認爲這是零而不是#。此代碼片段爲我顯示8位小數。

void Main() 
{ 
decimal d = 351.23456M; 
Console.Write(d.ToString("0.00000000")); 
} 
+0

我認爲你是正確的格式,但它沒有解決我的問題。我認爲我的問題在別的地方,我在調試中找不到它......我會給你信用,但它說我必須再等幾分鐘。不管怎麼說,還是要謝謝你。 –

0
private void btnDivide_Click(object sender, System.EventArgs e) 
{ 
    calc.Divide(displayValue); 
    newValue = true; 
    decimalEntered = false; 
    displayValue = calc.CurrentValue; 
    txtDisplay.Text = displayValue.ToString("#,###.########"); 
} 

這種變化應該做你想要什麼。這將格式化數字以包含逗號和小數點,最多爲8(如果需要)。

如果要強制保留8位小數,可以使用F8或將#s更改爲0。