-1
votes

Comment calculer la somme de toutes les valeurs d'entrée dans le texte ayant suivi des virgules?

Je veux calculer toutes les valeurs d'entrée dans le texte qui ont ou n'abassent pas de virgule.
Exemple Je sais 2,3,4,5 ou 2345 dans la zone de texte. Sa somme devrait venir comme 14 , à condition que l'utilisateur ait utilisé ou non utilisé , entre les nombres.


2 commentaires

Et si l'utilisateur souhaite entrer 10,12,14 mais l'entrait comme 101214 ? Votre méthode sera alors allumée à 9 au lieu de 36


bien toute suggestion serait appréciée?


3 Réponses :


-1
votes

Connexion après avoir posté mes questions, je parviens à trouver une solution par moi-même .. Ici, il est: xxx

entrée utilisateur 1: 1,2,3,4

entrée utilisateur 2: 1234

====== ============

Sortie: Votre somme est: 10 acclamations :)


3 commentaires

Vous n'avez aucune idée de ce que ces fonctions font, n'est-ce pas?


iam ayant indice mr mais juste demander à ce sujet que vous avez mentionné.Si vous ne voulez pas contribuer que son ok aucun problème ..Merci


Vous n'avez pas répondu à votre question car vous n'avez pas couvert les cas d'EDGE que j'ai écrit dans les commentaires à la question.



0
votes
function calculateStringNumbers($string)
{
    $sum = 0;
    $numbers_array = explode(',',$string);

    if(is_array($numbers_array) && count($numbers_array) > 0 && strpos($string, ',') !== false)
    {
        $sum = array_sum($numbers_array);
    }
    else
    {
        $sum = sum($string);
    }

    echo 'Your Sum is: '.$sum.' cheers';
}


function sum($num) {
    $sum = 0;
    for ($i = 0; $i < strlen($num); $i++){
        $sum += $num[$i];
    }
    return $sum;
}
Test Cases:1 - user input 2345:
   calculateStringNumbers('2345')
Output Your Sum is: 14 cheers2 - user input 2,3,4,5:
   calculateStringNumbers('2,3,4,5')
Output Your Sum is: 14 cheers

2 commentaires

Cette solution est fausse. L'entrée 2345 sort 2345, pas le "14" recherché


Je me suis testé mon frère et que j'ai mis la solution.So I Haven a utilisé des fonctions intégrées.Si requis, je vais envoyer une capture d'écran de travail.



0
votes

Ma solution plus concise serait: xxx


0 commentaires