2010-12-12 5 views

Odpowiedz

8

Chcesz

number.ToString("N0"); 

"N0" to liczba bez miejsc po przecinku.

Alternatywą - "F0" jest stałoprzecinkowych bez miejsc po przecinku, ale drukuje bez separatorów przecinkami:

double number = 4e12; 
Console.WriteLine(number.ToString("F0")); 
Console.WriteLine(number.ToString("N0")); 

drukuje:

4000000000000 
4,000,000,000,000 

Source

+0

Ale to może być wiele cyfr dokładnie reprezentowane? –

+0

Dzięki, rozumiem. –

+0

@Gunner Nawet z wartością zmiennoprzecinkową wynik będzie "dokładnie odwzorowany" (tak dokładnie odwzorowany jak w samym pływającym). Podwójny powinien być dobry dla wszystkich liczb całkowitych do tego zakresu, a dziesiętny może pójść nieco dalej. –

0

Naprawdę świetna odpowiedź!

Mój kod jest

Double dblAcct = (Double)childRow["Account No"]; 
s_acct = dblAcct.ToString("F0"); 
s_acct = s_acct.PadLeft(16, '0');