titleOfSelectedItem

RocouRocou Membre
avril 2021 modifié dans API SwiftUI #1

Bonjour,

Je voudrais récupérer le contenu sélectionné d'un NSPopUpButton.
c'est la valeur 20" qui est sélectionnée.
Voici mon bout de code:

@IBOutlet weak var Taux_de_TVA: NSPopUpButton!
// Plus loin...
print(Taux_de_TVA.titleOfSelectedItem)

Tout fonctionne, le résultat est Optional("20")
Maintenant je voudrais convertir cela en float afin de l'intégrer dans mes calculs mais rien de ce que j'ai fait jusqu'à présent n'est accepté par le compilateur.

Réponses

  • devulderdevulder Membre
    avril 2021 modifié #2

    @Rocou a dit :
    Bonjour,

    Je voudrais récupérer le contenu sélectionné d'un NSPopUpButton.
    c'est la valeur 20" qui est sélectionnée.
    Voici mon bout de code:

    `@IBOutlet weak var Taux_de_TVA: NSPopUpButton!

    // Plus loin...

    print(Taux_de_TVA.titleOfSelectedItem)
    `

    Tout fonctionne, le résultat est Optional("20")
    Maintenant je voudrais convertir cela en float afin de l'intégrer dans mes calculs mais rien de ce que j'ai fait jusqu'à présent n'est accepté par le compilateur.

    C'est simple en france la tva c'est 100% :smiley:

    La solution c'est de convertir la chaine en NSString

    if let s = Taux_de_TVA.titleOfSelectedItem { print((s as NSString).integerValue) }

  • RocouRocou Membre
    avril 2021 modifié #3

    Bon, j'ai finalement résolu le truc. J'imagine qu'en parler, ça aide :)

    let MonTauxDeTVA = Double(Taux_de_TVA.titleOfSelectedItem!)
    // dans les calculs j'utilise donc MonTauxDeTVA! )
    
  • Chacun des NSMenuItem du popup button ont une propriété representedObject de type Any?. Tu peux y mettre directement tes valeurs.

    D'ailleurs en parlant de valeurs, si tu veux compter des sous utilise Decimal plutôt que Float ou Double. Enfin sauf si t'aime les erreurs d'arrondi et les aberrations dues à la représentation des nombres décimaux en binaire 😉

    PS: c'est quoi ces noms de variable ? On fait du COBOL ou quoi ?

  • @Pyroh a dit :
    Chacun des NSMenuItem du popup button ont une propriété representedObject de type Any?. Tu peux y mettre directement tes valeurs.

    D'ailleurs en parlant de valeurs, si tu veux compter des sous utilise Decimal plutôt que Float ou Double. Enfin sauf si t'aime les erreurs d'arrondi et les aberrations dues à la représentation des nombres décimaux en binaire 😉

    PS: c'est quoi ces noms de variable ? On fait du COBOL ou quoi ?

    Encore plus simple, il y a la propriété tag de type Integer

  • @devulder a dit
    Encore plus simple, il y a la propriété tag de type Integer

    :neutral:

  • RocouRocou Membre
    avril 2021 modifié #7

    Ha oui, merci @Pyroh pour le rappel concernant Decimal.
    Qu'est-ce qu'ils ont mes noms de variables ? :)

    @devulder Merci mais non, le type integer pour de la TVA, n'est pas toujours approprié. Quoique avec 100% de TVA... :)

  • @Rocou a dit :
    Ha oui, merci @Pyroh pour le rappel concernant Decimal.
    Qu'est-ce qu'ils ont mes noms de variables ? :)

    @devulder Merci mais non, le type integer pour de la TVA, n'est pas toujours approprié. Quoique avec 100% de TVA... :)

    Ah mince, j'avais oublié :) Alors la méthode @Pyroh est la meilleure
    Sinon tu px également stocker les taux de tva dans un tableau et lire la propriété indexOfSelectedItem

  • @Pyroh a dit :

    @devulder a dit
    Encore plus simple, il y a la propriété tag de type Integer

    :neutral:

    Oops, boulette. désolé

Connectez-vous ou Inscrivez-vous pour répondre.