• Welcome to Forum des utilisateurs de Blockly(s). Please login or sign up.
 

float la virgule qui veut pas

Démarré par athea22, octobre 05, 2017, 11:51:50 am

« précédent - suivant »

athea22

bonjours j'essaie d'écrire dans une float un 500.0 mais quand je valide sa revient a 500, je suis obliger de faire soit 500.1 soit 500.1 - 0.1  :-X

Bzhtitude

R inclue Z inclue N

en bref, un entier est aussi un flottant qui s'ignore 500 = 500.0

athea22

s'est ce que je pensais ,mais non , sinon je n'est pas les chiffres après la virgule ,,, :o

Bzhtitude

on peut faire çà:

temp = Vin*500.0/1023;


athea22

oui mais sa serais bien de pouvoir le faire directe dans les blocks vert ,s'est pas que j'aime pas écrire !! :P

SebCanet

Dans le setup, pq ne pas initialiser (en plus c'est toujours mieux) ta variable avec un float vin = 0.5 ?

athea22

bonjours ,comment obtenir 3 chiffre après la virgule  ,merci a vous

Bzhtitude

Salut,

la doc précise que

Serial.println(1.23456, 4) gives "1.2346"

donc avec juste le bloc , tu ne peux pas ,tu as alors 2 choix :

1. Refaire le bloc
2. Modifier dans le code C/C++

athea22

merci ,j'avais trouver la soluce de la virgule pour demander plus de zero ,merci a vous ,j'ai tendance a croire que les block sont fini ,mais il ya trop de possibilité !! j'aimerais tant faire mes block avec mes lib .... ::).....peut etre un jours jy parviendrais .... :)

SebCanet

Citation de: Bzhtitude le octobre 11, 2017, 03:29:17 pm
Salut,

la doc précise que

Serial.println(1.23456, 4) gives "1.2346"

donc avec juste le bloc , tu ne peux pas ,tu as alors 2 choix :

1. Refaire le bloc

en rajouter un. Merci d'avance !  ;D

Bzhtitude

Je vais surement en refaire un de toute façon ::) mais je bloque pour le moment sur le concept de variable non typée (trop habitué à des langages avec typage...)

SebCanet

Citation de: Bzhtitude le octobre 12, 2017, 10:52:49 pm
Je vais surement en refaire un de toute façon ::) mais je bloque pour le moment sur le concept de variable non typée (trop habitué à des langages avec typage...)
Pour écrire du javascript tu veux dire ?
Tu bloques sur quoi ?

SebCanet

Citation de: Bzhtitude le octobre 12, 2017, 10:52:49 pm
Je vais surement en refaire un de toute façon ::) mais je bloque pour le moment sur le concept de variable non typée (trop habitué à des langages avec typage...)
Pour écrire du javascript tu veux dire ?
Tu bloques sur quoi ?

Bzhtitude

octobre 13, 2017, 10:24:49 pm #13 Dernière édition: octobre 13, 2017, 10:29:36 pm par Bzhtitude
j'aimerai faire un bloc "Serial.print" un peu plus polyvalent que ceux disponible, peut importe ce que l'on donne comme paramètre (texte, nombre, variables...) et avec le retour à la ligne ou pas.
Dans le même genre j'aimerai faire un bloc "procédure" avec des types de variables autre que ceux de base (int, char, String...)  en particulier pouvoir insérer du code HTML et donc passer une variable de type EthernetClient... (voir le post sur le serveur Ethernet)

Pour ces cas là , je pense qu'il faut passer par des types non définis (ça donne undefined sur l'éditeur arduino), mais je coince car je n'arrive à rien de concluant pour le moment.

fontaine.jp

Salut Bzhtitude,
est-ce que c'est ça que tu veux ?
bloc :
Blockly.Blocks["serial_write"] = {
    init: function() {
        this.setColour("#00929F");
        this.setHelpUrl(Blockly.Msg.HELPURL);
        this.appendValueInput("CONTENT", String).appendField(Blockly.Msg.Serial_Write);
        this.setPreviousStatement(true, null);
        this.setNextStatement(true, null);
        this.setTooltip(Blockly.Msg.Serial_write_tooltip)
    }
};

générateur :
Blockly.Arduino["serial_write"] = function(block) {
    var content = Blockly.Arduino.valueToCode(block, "CONTENT", Blockly.Arduino.ORDER_ATOMIC) || "0";
    return "Serial.print(" + content + ");\n"
};

Le bloc accepte les variables, les nombres, les textes..