Freigeben über


Single-Struktur

Stellt eine Gleitkommazahl mit einfacher Genauigkeit dar.

Namespace: System
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Structure Single
    Implements IComparable, IFormattable, IConvertible, IComparable(Of Single), _
    IEquatable(Of Single)
'Usage
Dim instance As Single
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public struct Single : IComparable, IFormattable, IConvertible, 
    IComparable<float>, IEquatable<float>
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public value class Single : IComparable, IFormattable, IConvertible, 
    IComparable<float>, IEquatable<float>
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class Single extends ValueType implements IComparable, IFormattable, 
    IConvertible, IComparable<float>, IEquatable<float>
JScript unterstützt die Verwendung von Strukturen, aber nicht die Deklaration von neuen Strukturen.

Hinweise

Der Single-Werttyp stellt eine 32-Bit-Gleitkommazahl einfacher Genauigkeit mit Werten von -3,402823e38 bis +3,402823e38 dar. Der Wertebereich umfasst zudem eine positive und eine negative 0 (null), PositiveInfinity, NegativeInfinity und NaN (Not-a-Number).

Single entspricht der Norm IEC 60559:1989 (IEEE 754) für binäre Gleitkomma-Arithmetik.

Single stellt Methoden zum Vergleichen von Instanzen dieses Typs, zum Konvertieren des Werts einer Instanz in die entsprechende Zeichenfolgendarstellung und zum Konvertieren der Zeichenfolgenentsprechung einer Zahl in eine Instanz dieses Typs bereit. Informationen über die Steuerung der Zeichenfolgenentsprechung von Werttypen mit Codes für die Formatangabe finden Sie unter Übersicht über Formatierung, Standardmäßige Zahlenformatzeichenfolgen und Benutzerdefinierte Zahlenformatzeichenfolgen.

Verwenden von Gleitkommazahlen

Wenn bei einer binären Operation einer der Operanden einer der Gleitkommatypen Single oder Double ist, muss der andere Operand ein ganzzahliger Typ oder ein Gleitkommatyp sein. Die Operation wird wie folgt ausgewertet:

  • Wenn einer der Operanden einen ganzzahligen Typ hat, wird dieser Operand in den Gleitkommatyp des anderen Operanden konvertiert.

  • Wenn danach einer der Operanden den Typ Double hat, wird der andere Operand in Double konvertiert, und bei Ausführung der Operation wird mindestens der Wertebereich und die Genauigkeit von Double verwendet. Bei numerischen Operationen ist der Typ des Ergebnisses Double.

  • Andernfalls wird bei Ausführung der Operation mindestens der Wertebereich und die Genauigkeit des Typs Single verwendet, und der Typ des Ergebnisses ist Single.

Gleitkommaoperatoren einschließlich des Zuweisungsoperators lösen keine Ausnahmen aus. Stattdessen ist, wie unten beschrieben, das Ergebnis einer Gleitkommaoperation in Ausnahmefällen 0 (null), unendlich oder NaN:

  • Wenn der Betrag des Ergebnisses einer Gleitkommaoperation für das Zielformat zu klein ist, ist das Ergebnis der Operation 0 (null).

  • Wenn der Betrag des Ergebnisses einer Gleitkommaoperation zu groß für das Zielformat ist, ist das Ergebnis der Operation je nach Vorzeichen des Ergebnisses entweder PositiveInfinity oder NegativeInfinity.

  • Wenn eine Gleitkommaoperation ungültig ist, ist das Ergebnis der Operation NaN.

  • Wenn mindestens einer der Operanden einer Gleitkommaoperation NaN ist, ist das Ergebnis der Operation NaN.

Beachten Sie, dass eine Gleitkommazahl nur ein Näherungswert einer Dezimalzahl ist und dass die Genauigkeit einer Gleitkommazahl bestimmt, wie genau die Zahl mit einer Dezimalzahl übereinstimmt. In der Standardeinstellung hat der Single-Wert nur eine Genauigkeit von 7 Ziffern, obwohl intern maximal 9 gültige Ziffern bestimmt werden. Die Genauigkeit einer Gleitkommazahl hat mehrere Auswirkungen:

  • Zwei Gleitkommazahlen, die bei einer bestimmten Genauigkeit als gleich gelten, können bei einer anderen Genauigkeit als ungleich gelten, da sich die letzten signifikanten Ziffern unterscheiden.

  • Eine mathematische oder Vergleichsoperation, bei der eine Gleitkommazahl verwendet wird, führt möglicherweise nicht zu demselben Ergebnis wie bei der Verwendung einer Dezimalzahl, da die Gleitkommazahl eventuell nur ein Näherungswert der Dezimalzahl ist.

  • Bei Verwendung einer Gleitkommazahl könnte ein Wert möglicherweise nicht wiederhergestellt werden. Ein Wert gilt als wiederhergestellt, wenn er in einer Operation in ein anderes Format und anschließend in einer Umkehroperation wieder zu einer Gleitkommazahl konvertiert wird, wobei die resultierende Gleitkommazahl mit der ursprünglichen Gleitkommazahl übereinstimmt. Die Wiederherstellung könnte fehlschlagen, wenn ein oder mehr niederstwertige Ziffern bei einer Konvertierung verloren gehen oder geändert werden.

Schnittstellenimplementierungen

Dieser Typ implementiert die Schnittstellen IComparable, IComparable, IFormattable und IConvertible. Verwenden Sie für Konvertierungen die Convert-Klasse anstelle der expliziten Implementierung der Schnittstellenmember von IConvertible für diesen Typ.

Threadsicherheit

Alle öffentlichen statischen (Shared in Visual Basic) Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

Single-Member
System-Namespace