Welche Formatzeichenfolge zeigt den Float an?

8

Ich habe einen Float von ungefähr 27 signifikanten Zahlen, wenn ich "ToString ()" rufe, bekomme ich "6.8248054E + 26", wie bekomme ich den genauen normalen Wert?

    
Mohamed Mokhtar 27.02.2016, 17:26
quelle

5 Antworten

6
%Vor%

Dies würde alle Dezimalstellen bis zum 27. anzeigen, aber alle nachfolgenden Nullen werden weggelassen. Also würde die obige Nummer als 0.1111111111 angezeigt werden.

    
Bogey 27.02.2016, 17:30
quelle
8

Ich weiß, dass Sie die 27-stellige signifikante Zahl und anzeigen möchten, die Sie mit float verwenden. Du kannst das immer so machen:

%Vor%

Aber wirklich , sie passen einfach nicht . Verwenden Sie decimal , um diese Genauigkeit zu erreichen:

%Vor%     
Ian 27.02.2016 17:39
quelle
2

versuche das.

%Vor%     
Hari Prasad 27.02.2016 17:37
quelle
2

Das Problem besteht nicht darin, welches Format Sie verwenden. Es liegt vielmehr in der Präzision des Datentyps.

Von MSDN:

float hat eine Genauigkeit von 7 Ziffern. decimal hat dagegen eine Genauigkeit von 28-29 Stellen.

Wenn Sie Ihren Wert einer Variablen vom Typ decimal zuweisen, erhalten Sie, selbst wenn Sie die Methode ToString() ohne Stringformate aufrufen, das, was Sie wollen.

%Vor%     
Fᴀʀʜᴀɴ Aɴᴀᴍ 27.02.2016 17:46
quelle
-2

Mit Floats werden Sie nicht in der Lage sein, diese Präzision zu erreichen.

Wie auch immer, Sie sollten den Formatierer "F" oder "N" verwenden, diese werden die Nummer wie gewünscht ausdrucken.

Sie können alle Formatierungen hier überprüfen: Standard-Zahlenformatzeichenfolgen

    
Snak 27.02.2016 17:49
quelle

Tags und Links