Ich möchte doppelte Werte mit einer festen Anzahl von vier Dezimalstellen formatieren. Was ich will:.net: Was ist die richtige Formatzeichenfolge für eine feste Anzahl von Dezimalstellen, aber "x.xxE + xxx" für große Zahlen?
- „Small“ Zahlen sollten im Ganzen angezeigt werden, das heißt, sollte 1234,56789 als 1234,5679
- „Large“ Zahlen angezeigt werden, sollte ich in Exponentialnotation
angezeigt bin nicht der Lage, beide zu erreichen:
(1234.56789).ToString("F4", CultureInfo.InvariantCulture)
ergibt:
1234.5679
Aber
:
(123456789123456789.123456789).ToString("F4", CultureInfo.InvariantCulture)
ergibt:
1234567891234567000.0000
Mit G4
Ausbeuten 1.235E+17
für die große Zahl und 1235
für die kleinen.
Ich habe auch "E4" und "e4" ohne ein gutes Ergebnis versucht.
Also, welches Format sollte ich verwenden, um das gleiche Verhalten wie für das Standardformat zu erreichen, d. H. Wenn keine Standardzeichenfolge verwendet wird, aber die Dezimalstellen auf vier reduziert werden? Es kann nicht sein, dass ich gezwungen bin, zu tun String Hacking oder müssen „ifs“ zu überprüfen, ob die Zahl in einem bestimmten Bereich ist ...
Verwenden Sie den Rückgabewert von Math.Log10 (Wert), ob Sie wie "F4" oder "E" entscheiden. –