Accueil Forums J’ai besoin d’aide Unity3D salut j'ai un problème un peu incompréhensible sur la convertion string int

Mots-clés : 

Ce sujet a 4 réponses, 2 participants et a été mis à jour par  MemorialEditor, il y a 6 mois et 2 semaines.

5 sujets de 1 à 5 (sur un total de 5)
  • Auteur
    Messages
  • #1085

    MemorialEditor
    Participant

    Voila c’est un script pour activer une variable que après 15min et ben jsp trop se qui se passe il n’y pas d erreur au début mais après il dit quand je lance que la conversion string à int est pas adapté donc voilà si qlqn peut m’aider se serait cool using UnityEngine;
    public class watchTime : MonoBehaviour {
    public bool WatchAttemp;
    public System.DateTime heure_actuelle;
    private string actualTime;

    public int mond_int;
    public int day_int;
    public int hour_int;
    public int min_int;
    public int sec_int;

    public int mond_intSave;
    public int day_intSave;
    public int hour_intSave;
    public int min_intSave;
    public int sec_intSave;
    public bool Saved;

    private string mond;
    private string day;
    private string hour;
    private string min;
    private string sec;

    public int TimeAttemp;

    public void Start (){

    if(Saved == true){

    mond_intSave = PlayerPrefs.GetInt (“mond”);
    day_intSave = PlayerPrefs.GetInt (“day”);
    hour_intSave = PlayerPrefs.GetInt (“hour”);
    min_intSave = PlayerPrefs.GetInt(“min”);
    sec_intSave = PlayerPrefs.GetInt(“sec”);

    }

    }

    public void Update (){

    var heure_actuelle = System.DateTime.Now;
    actualTime = heure_actuelle.ToString(“DD : HH :mm : ss”);

    //————————decomposition en heure minute seconde——————–

    mond = heure_actuelle.ToString (“MM”);
    day = heure_actuelle.ToString (“DD”);
    hour = heure_actuelle.ToString(“HH”);
    min= heure_actuelle.ToString(“mm”);
    sec = heure_actuelle.ToString(“ss”);

    //———————-conversion des strings en int pour pouvoir enregistrer et soustraire par la suite——————

    mond_int = int.Parse(mond);
    day_int = int.Parse(day);
    hour_int = int.Parse(hour);
    min_int = int.Parse(min);
    sec_int = int.Parse(sec);

    if (WatchAttemp == true) {

    if(Saved == false){

    mond_intSave = mond_int;
    day_intSave = day_int;
    hour_intSave = hour_int;
    min_intSave = min_int;
    sec_intSave = sec_int;

    PlayerPrefs.SetInt (“mond”, mond_intSave);
    PlayerPrefs.SetInt (“day”, day_intSave);
    PlayerPrefs.SetInt (“hour”, hour_intSave);
    PlayerPrefs.SetInt (“min”, min_intSave);
    PlayerPrefs.SetInt (“sec”, sec_intSave);

    Saved = true;

    }
    //——————————normal—————————//
    if (day_intSave < day_int) {
    Message ();
    }
    if (mond_intSave < mond_int) {
    Message ();
    }
    if (hour_intSave < hour_int) {
    Message ();
    }
    if (min_intSave + TimeAttemp < min_int) {
    Message ();
    }

    }
    } public void Message (){
    Debug.Log (“report true”);
    }
    }

    #1087

    broumbroum
    Participant

    Essaie de remplace :
    mond_int = int.Parse(mond);
    day_int = int.Parse(day);
    hour_int = int.Parse(hour);
    min_int = int.Parse(min);
    sec_int = int.Parse(sec);

    Par :
    mond_int = Convert.ToDecimal(mond);
    day_int = Convert.ToDecimal(day);
    hour_int = Convert.ToDecimal(hour);
    min_int = Convert.ToDecimal(min);
    sec_int = Convert.ToDecimal(sec);

    et tout en haute tu doit voir:
    using System;

    #1094

    MemorialEditor
    Participant

    merci mais il y a tjr un problème maintenant ça dit que je ne peut pas convertir des int en decimal mais j’ai essayer aussi avec du float et nn plus :/

    #1104

    broumbroum
    Participant

    Moi sa marche pour convertie un string en int (java)

    Alors change “Convert.ToDecimal” en “Convert.ToUInt32”

    Si tu a un problème avec les variable “mond_int , day_int , hour_int , min_int , sec_int” remplace le type de la variable “int” en “Int32”

    #1105

    MemorialEditor
    Participant

    j’ai compris et résolu le problème 🙂 tt con enfaite j’ai mit actualTime = heure_actuelle.ToString(“DD : HH :mm : ss”); et les jours en majuscule or c’est en minuscule “dd” merci en tout cas 😉

5 sujets de 1 à 5 (sur un total de 5)

Vous devez être connecté pour répondre à ce sujet.