C++ std::stold std::stof std::stold

C Std Stold Std Stof Std Stold



Vandaag gaan we enkele functies van de C++-tekenreeks leren en we zullen zien hoe we de tekenreekswaarden kunnen converteren door meerdere voorbeelden te implementeren.

C ++ is een zeer eenvoudige en gemakkelijk te leren taal omdat het een objectgeoriënteerde programmeertaal is die programma's een gedefinieerde structuur biedt en codeleesbaarheid in hetzelfde programma mogelijk maakt.

Invoering

String is een van de datatypes van C++ en het is een verzameling van meerdere elementen die karakters worden genoemd. Er zijn veel functionaliteiten die de C++-string uitvoert, maar hier hebben we enkele van de functies die stod(), stof() en stod() zijn. Deze tekenreeksfuncties hebben dezelfde functionaliteiten die worden gebruikt om de tekenreekswaarde te ontleden of om te zetten in andere gegevenstypen. Laten we nu eens kijken hoe deze functionaliteiten zullen werken.







Standaard::standaard

De stringfunctie std::stold() betekent het omzetten van een stringwaarde in een lange double.



Syntaxis

Eerst schrijven we het trefwoord 'long double', wat aangeeft dat we de waarde omzetten in een long double. Daarna zullen we de naam van de stringmethode schrijven die we willen uitvoeren. In dit geval is het stold() en vervolgens geven we tussen de functiehaakjes de parameters door.







Parameters

str: de invoertekenreekswaarde die we willen converteren naar de lange dubbele waarde.

positie: het adres van een geheel getal dat wordt gebruikt om de index van het allereerste niet-geconverteerde teken vast te houden.



Winstwaarde

In ruil daarvoor krijgen we de waarde in lang dubbel type door de invoerreeks te converteren.

Voorbeeld

Laten we beginnen met het implementeren van het eerste voorbeeld van de functie stold(). Ten eerste hebben we een C++-compiler nodig om ons programma te schrijven en uit te voeren.

In het C ++ -programma zullen we eerst de header-bestanden opnemen, zodat we kunnen voorkomen dat we de code herhaaldelijk moeten schrijven en het programma kunnen verwerken door het nauwkeurig en gefocust te houden. Eerst zullen we het '#' -teken schrijven dat de compiler zal instrueren om het headerbestand te laden. Vervolgens zullen we de preprocessor-richtlijn 'include' schrijven die wordt gebruikt om de compiler te vertellen het header-bestand te verwerken voordat het eigenlijke programma wordt gecompileerd. Vervolgens schrijven we de header-bestandsnaam 'iostream', de standaard invoer-uitvoerfunctie in C ++. We zullen nog een headerbestand declareren voor het gebruik van de tekenreekswaarden in het programma, namelijk '#include'.

#include

#include

namespace std; gebruiken ;

int hoofd ( )
{
tekenreeks str = '1.0545' ;
cout << 'De invoertekenreekswaarde is: ' << str << ' \n ' ;

lang dubbele a = koppigheid ( str ) ;
cout << 'De resulterende lange dubbele waarde is: ' << a << ' \n ' ;

opbrengst 0 ;
}

Laten we, na het schrijven van het headerbestand, beginnen met het schrijven van de eigenlijke coderegel van het programma. Eerst schrijven we de main() functie. In C++ bevat elk programma een functie main() en het programma begint met de functie main(). Wanneer een C++-programma wordt uitgevoerd, krijgt de functie main() onmiddellijke uitvoeringscontrole. Vervolgens hebben we een variabele 'str' ​​gedeclareerd waarvan het datatype 'string' is en vervolgens hebben we de waarde toegewezen aan 'str', wat '1.0545' is. Om de waarde op het gebruikersscherm af te drukken, hebben we de methode 'cout' gebruikt en daarin de variabele 'str' ​​doorgegeven. Zoals je aan het einde van de 'cout'-methode ziet, hebben we de '\n'-formaatspecificatie gebruikt, zodat we naar de volgende nieuwe regel van het programma kunnen gaan.

We schrijven de stringfunctie die we gaan implementeren, de functie stold(). Eerst schrijven we de datatypenaam 'long double' waarop we de invoerreeks '1.0545' willen converteren. Vervolgens declareren we de nieuwe variabele 'a' waarop we de lange dubbele string willen opslaan. Vervolgens hebben we de functie stold() aangeroepen en de 'str' ​​doorgegeven als het argument van de functie en vervolgens hebben we dit afgedrukt met behulp van de 'cout'-methode.

Hier is de gewenste uitvoer van het hierboven geïmplementeerde programma:

Standaard::substantie

De tekenreeksfunctie std::stof() betekent het omzetten van een tekenreekswaarde in een getal met drijvende komma.

Syntaxis

Eerst zullen we het sleutelwoord 'float' schrijven, wat aangeeft dat we de waarde converteren naar een float-datatype. En dan zullen we de naam van de stringmethode schrijven die we willen uitvoeren, wat de functie stof() is. Vervolgens geven we tussen de functiehaakjes de parameters door.

Parameters

str: de invoertekenreekswaarde die we willen converteren naar de lange dubbele waarde.

idx: de methode stelt de waarde in van het object size-t waarnaar door deze aanwijzer wordt verwezen op het element in str dat net na de integer-waarde komt. Als alternatief kan deze optie een null-aanwijzer zijn, in welk geval deze niet zou worden gebruikt.

Winstwaarde

In ruil daarvoor krijgen we de waarde in het drijvende-kommagetaltype door de invoerreeks te converteren.

Voorbeeld

Hier is nog een voorbeeld van de tekenreeksfunctie stof() die wordt gebruikt om de tekenreekswaarde te ontleden in het type float. Laten we beginnen met het voorbeeld uit te leggen, we nemen altijd eerst de functiegerelateerde headerbestanden op voor de functies die we in dit programma gaan implementeren. Hier hebben we het headerbestand '#include ' dat wordt gebruikt om de gegevens in te voeren en de gegevens uit te voeren enz. Dan hebben we een tweede headerbestand '#include ' dat wordt gebruikt wanneer we werken met de tekenreekswaarde. We gebruikten de 'using namespace std' zodat elke variabele of elke functie niet dezelfde identiteit kan delen in het hele programma.

#include

#include

namespace std; gebruiken ;

int hoofd ( )
{
tekenreeks waarde = '2541' ;
cout << 'De invoertekenreekswaarde is: ' << val << ' \n ' ;

vlot res = stof ( val ) + 1000.576 ;
cout << 'De resulterende vlotterwaarde is: ' << res << ' \n ' ;

opbrengst 0 ;
}

Hierna schrijven we de main() functie waarin we de daadwerkelijke regel code implementeren van het programma dat we willen compileren. In de hoofdtekst van de functie main() hebben we een variabele met de naam 'val' van het type string gedeclareerd en hebben we de waarde '2541' toegewezen aan 'val'. Vervolgens hebben we het afgedrukt met behulp van de 'cout' -methode. En we hebben de stringfunctie geïmplementeerd die 'stof()' is. Eerst schrijven we de datatypenaam 'float' waarop we de string willen converteren en we hebben een andere variabele 'res' die wordt gebruikt om de functiewaarde erin op te slaan. We hebben de functie 'stof()' geschreven, de stringvariabele 'val' erin doorgegeven en we hebben er ook een waarde aan toegevoegd. We hebben het afgedrukt met behulp van de 'cout' -methode en hebben uiteindelijk de 0 teruggegeven aan de hoofdfunctie.

Laten we de uitvoer van de bovenstaande illustratie bekijken:

Standaard::stond()

De stringfunctie std::stod() betekent het omzetten van een stringwaarde in een dubbel type.

Syntaxis

Eerst schrijven we het sleutelwoord 'dubbel', wat aangeeft dat we de waarde omzetten in een dubbel datatype. En dan schrijven we de naam van de stringmethode die we willen uitvoeren, wat de functie stod() is, en vervolgens geven we tussen de functiehaakjes de parameters door.

Parameters

str: de invoertekenreekswaarde die we willen converteren naar de lange dubbele waarde.

positie: het adres van een geheel getal dat wordt gebruikt om de index van het allereerste niet-geconverteerde teken vast te houden.

Winstwaarde

In ruil daarvoor krijgen we de waarde in dubbel type door de invoerreeks te converteren.

Voorbeeld

Hier is een voorbeeld van de stringfunctie stod() die wordt gebruikt om de string om te zetten in dubbel type. In de code hieronder zullen we eerst de headerbestanden opnemen. En dan schrijven we de 'namespace std' erin.

#include

#include

namespace std; gebruiken ;

int hoofd ( )
{
tekenreeks x = '835621' ;
cout << 'De invoertekenreekswaarde is: ' << x << ' \n ' ;

dubbele Met = stond ( x ) + 2.10 ;
cout << 'De resulterende dubbele waarde is: ' << Met << ' \n ' ;

opbrengst 0 ;
}

In de functie main() declareren we eerst de variabele van het type string die 'x' is en kennen we de waarde eraan toe zodat we de functie stod() kunnen uitvoeren. Vervolgens schrijven we de typenaam 'double' waarop we de gegeven string 'x' willen ontleden en vervolgens hebben we de nieuwe double-variabele 'z' gedeclareerd en de functie stod() erin opgeslagen. In de functie stod() hebben we de tekenreeks 'x' erin doorgegeven en de waarde '2.10' eraan toegevoegd. Laten we eens kijken naar de uitvoer van het programma en zien wat we krijgen:

Conclusie

In dit artikel hebben we geleerd wat string is in C++ en hoe we de stringfunctie in C++ implementeren. Vervolgens hebben we de functies stold(), stof() en stod() afzonderlijk uitgelegd, zodat er geen verwarring ontstaat bij de gebruiker.