Virgule mise en forme de nombres en C++
Je vais avoir besoin d'aide dans l'ajout de virgules pour le nombre que l'utilisateur entre, quelques conseils ou de l'aide serait appréciée. Jusqu'à présent j'en ai une où je stocke les trois premiers chiffres et les six derniers chiffres, puis il suffit de le formater.
#include<iostream>
using namespace std;
int main ( int argc, char * argv[] )
{
unsigned long long userInput;
int fthreeDigit;
cout << "Enter a long long number: " << endl;
cin >> userInput;
fthreeDigit = ( userInput / 1000 );
userInput %= 1000;
cout << "Your Number: " << fthreeDigit << "," << userInput << endl;
system("pause");
return 0;
}
donc, vous l'avez ou ce que vous voulez réaliser?
J'aimerais réaliser où n'importe quel nombre peut être saisi. La façon dont j'ai actuellement de ne pas laisser se produire
donner un exemple avec des chiffres
non, qu'il se contente de lire dans les numéros des entrées de l'utilisateur et de formats entre eux par une virgule.
Oui, tous ces travaux, mais malheureusement, je suis incapable de substr(), ne peut utiliser qu'modolus et de la division.
J'aimerais réaliser où n'importe quel nombre peut être saisi. La façon dont j'ai actuellement de ne pas laisser se produire
donner un exemple avec des chiffres
non, qu'il se contente de lire dans les numéros des entrées de l'utilisateur et de formats entre eux par une virgule.
Oui, tous ces travaux, mais malheureusement, je suis incapable de substr(), ne peut utiliser qu'modolus et de la division.
OriginalL'auteur JL22 | 2013-03-20
Vous devez vous connecter pour publier un commentaire.
Ici est la force brutale, mais peut être plus facile de comprendre la façon d'obtenir tous les mille chiffres avec l'aide d'un vecteur.
J'ai testé ce code avec le cas suivant:
Je suppose que c'est ce que vous voulez en fonction de vos réponses aux commentaires.
Vous êtes les bienvenus, la façon dont j'ai essayé banal et simple déjà. Entendez-vous un moyen plus rapide?
correct, je l'apprécierais.
À mon humble avis, la façon dont je l'ai montré, est en fait très rapide et efficace. vous avez pour extraire ces 3 chiffres toute façon.
Ouais, en regardant à nouveau votre droit, encore une fois je ne peux pas vous remercier assez pour les aider.
OriginalL'auteur taocp
Est-ce que vous avez besoin? La locale va le faire pour vous correctement.
Vrai que! Ce code est le plus simple et le plus direct et ne nécessite pas d'itération sur les numéros manuellement.
OriginalL'auteur Nayana Adassuriya
EDIT:
J'ai deux solutions. d'abord, sans jouer avec les nombres (recommandé) et deuxième (division).
la première solution est la suivante:
et deuxième (non recommandé):
ou ce
Ensuite, vous pouvez utiliser
string::substr()
string::find()
string::find_first_of()
et des méthodes similaires pour modifier et formater votre chaîne.un sujet similaire
Si vous voulez vraiment vous devez diviser: (je pense que ma version est plus propre & plus efficace que les autres)
OriginalL'auteur 4pie0
Vous pourriez faire ceci:
De sortie (ideone):
OriginalL'auteur Alexey Frunze
OriginalL'auteur TAS