Ich könnte mir vorstellen, dass es etwas ist, mit dem zu tun Ihre regionalen Einstellungen.
versuchen, etwas wie folgt aus:
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(<your culture setting>);
log.DebugFormat("Balance: {0:c} ", balance);
Wenn das dosen't Arbeit, dann können Sie immer den Debugger verwenden, den Wert zu überprüfen:
System.Threading.Thread.CurrentThread.CurrentCulture.NumberFormat ;
überprüfen Insbesondere den Wert:
ansiCurrencySymbol
Um sicherzustellen, dass es auf das '$' Symbol gesetzt wird.
Sie auch in dieser Wikipedia-Seite intersted werden können: http://en.wikipedia.org/wiki/Currency_%28typography%29
Welche erklärt, was das Symbol Sie bekommen ist.
Im Einzelnen:
The currency sign (¤) is a character used to denote a currency, when the symbol for a particular currency is unavailable.
It is particularly common in place of symbols, such as that of the Colón (₡), which are absent from most character sets and fonts.
It can be described as a circle the size of a lowercase character with four short radiating arms at 45° (NE), 135° (NW), 225°, (SW) and 315° (SE). It is slightly raised over the baseline.
It is represented in Unicode, as CURRENCY SIGN (U+00A4). In HTML, the character entity reference ¤ or numeric character reference ¤ may be used.
Haben Sie die Regionseinstellungen auf Ihrem Computer überprüft? – Stephan
Wo melden Sie sich an? –
Ich denke wirklich, dass es mit log4net zu tun hat, denn das funktioniert wie erwartet. log.Debug (String.Format ("Balance: {0: C}", Balance)); – Striker