FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» quel est ce comportement de Panoramic_editor
par Oscaribout Aujourd'hui à 3:02

» bug BORDER_HIDE : bloque la commande full_space
par silverman Aujourd'hui à 1:19

» Découpe dans une image
par JL35 Hier à 22:00

» FNC IsDateValide(d$) pour vérifier la validité d'une date
par papydall Hier à 18:57

» Pour faire plaisir à jjn4.
par Pedro Alvarez Hier à 8:13

» Pour faire plaisir à Marc37.
par Marc Jeu 22 Fév 2018 - 21:46

» Couleur d'une variable qui n'est pas un mot-clé
par bignono Jeu 22 Fév 2018 - 14:03

» Un catalogue de photos de fleurs, avec KBDD, affichage HTML
par Klaus Mer 21 Fév 2018 - 22:44

» KGF_dll - nouvelles versions
par Klaus Mer 21 Fév 2018 - 22:30

» Mah-Jong anglais
par jjn4 Mer 21 Fév 2018 - 14:22

» Partie fractionnaire d'un flottant
par silverman Mer 21 Fév 2018 - 14:19

» bug CREATE_HIDE : corruption de form
par silverman Mer 21 Fév 2018 - 13:32

» Racine carrée d’un nombre par l’algorithme de Héron
par Ouf_ca_passe Mer 21 Fév 2018 - 9:52

» Méthode manuelle d'extraction de la racine carrée
par pascal10000 Mer 21 Fév 2018 - 7:47

» [annulé]ON_MOVE n,l ne fonctionne que sur le form 0
par silverman Mar 20 Fév 2018 - 16:52

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Février 2018
LunMarMerJeuVenSamDim
   1234
567891011
12131415161718
19202122232425
262728    
CalendrierCalendrier

Partagez | 
 

 Arrondir un réel à deux chiffres après la virgule

Aller en bas 
Aller à la page : 1, 2, 3  Suivant
AuteurMessage
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Arrondir un réel à deux chiffres après la virgule   Lun 25 Juin 2012 - 15:07

Bonjour à tous,

Après une longue absence du forum, je me pose la question suivante :

Quelqu'un a t il créer une dll ou aurai je raté une instruction
pour arrondir un réel a un nombre de chiffres après la virgule ?

ou dois je continuer à jouer avec Int et Frac ?

scratch
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: Arrondir un réel à deux chiffres après la virgule   Lun 25 Juin 2012 - 15:37

Bonjour ygeronimi,
Pour arrondir tu peux faire ceci :
Code:
DIM A
A=1.234
A= INT((A+0.005)*100)/100
PRINT A

A=1.235
A= INT((A+0.005)*100)/100
PRINT A
Surprised
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 25 Juin 2012 - 15:41

Merci Nardo

en fait j'ai rien loupé on joue toujours avec "Int"....

dommage un petit truc du style :

dim x, y
x=1.235
y=round(x,2)

print x

x = 1.24

ca aurait été pas mal mais bon...Jack est sur des trucs plus important et de loin. Laughing


Dernière édition par ygeronimi le Lun 25 Juin 2012 - 15:48, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: Arrondir un réel à deux chiffres après la virgule   Lun 25 Juin 2012 - 15:44


Non t'as rien loupé mais quelque part, c'est pas plus mal:
certains voudront arrondir 1.245 à 1.25 et d'autres à 1.24...
avec le INT, c'est toi qui décides.... Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Lun 25 Juin 2012 - 15:50

j'ai réedité plus haut
mais il me semble qu'il y a une règle mathématique pour les arrondis .... scratch

1 à 4 <
5 à 9 >
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5746
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Arrondir un réel à deux chiffres après la virgule   Lun 25 Juin 2012 - 18:42

Salut tout le monde.

Pour la règle mathématique, je crois que le resultat d’arrondir 1.245 à 2 chiffres après la virgule doit donner 1.25 et non 1.24
On arrondit par excès et non par défaut.

Beaucoup mieux : si on pouvait afficher la valeur d’une variable réelle sur une longueur totale L dont D chiffres après la virgule.
Par exemple, si X = 1.2456789

En Turbo Pascal, on fait :
Writeln(‘X = ‘,X :6 :2) ---> affiche X = 1.25 sur 6 positions avec 2 chiffres après la virgule
Comme 1.25 comporte 4 positions (on compte aussi le point décimal), il y a 2 espaces avant le 1

Si, à l’instar d’autres Basic( PRINT USING …), on disposait en PANORAMIC d’une telle instruction, ça sera merveilleux.

@ygeronimi
Dans l’exemple que tu donnes, tu veux, sans doute, écrire print y et non print x.
Tout le monde aurait compris et c’est l’essentiel.

lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: Re: Arrondir un réel à deux chiffres après la virgule   Lun 25 Juin 2012 - 19:22

Oui oui ...

C'est print y pas x...
c'est une faute de frappe...... lol!

le but du jeu est d'éviter un affichage du type :

1,12549871587465486936586997889687487954874878 lol!

et de coller un peu plus près à des résultats de calcul de facture ou le resultat final est le produit de sous resultats déjà arrondis.... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
jean_debord

avatar

Nombre de messages : 779
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: Arrondir un réel à deux chiffres après la virgule   Mar 26 Juin 2012 - 9:44

Voici le source d'une DLL en FreeBASIC :

Code:

#include "vbcompat.bi"

extern "Windows-MS"

function print_format(byref x as double, byref format_str as zstring ptr, byref x_str as zstring ptr) as integer export
 
  *x_str = format(x, *format_str)
 
  return 0
end function

end extern

sauvegarder sous format.bas puis compiler par :

Code:

fbc format.bas -dll

Exemple d'appel en Panoramic :

Code:

dim x, format$, xstr$, result%

x = 4 * atn(1)

dll_on "format.dll"

format$ = "0.00000"
xstr$ = format$      : ' pour dimensionner la chaine

result% = dll_call3("print_format", adr(x), adr(format$), adr(xstr$))

print xstr$

dll_off

C'est un peu lourd, mais comme la prochaine version de Panoramic sera basée sur FreeBASIC, il est probable que Jack ajoutera cette fonction.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 26 Juin 2012 - 13:38



cheers cheers cheers

Merci pour cette dll , je vais voir ca avec freebasic....
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 26 Juin 2012 - 19:44

@ JL

as tu une adresse pour que je puisse télécharger la bonne version de Freebasic ?

( je tombe systématiquement sur des mode console et je capte rien au fonctionnement Embarassed )

Merci
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 6152
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: Arrondir un réel à deux chiffres après la virgule   Mar 26 Juin 2012 - 21:30

Bonsoir ygeronimi,
essaye peut-être là: http://www.clubic.com/telecharger-fiche200854-freebasic.html
(5,4M, après installation l'éditeur freebasic est fbide.exe)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 26 Juin 2012 - 23:17

Merci merci , je cours telecharger... Laughing
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mar 26 Juin 2012 - 23:52

GRRRRRRR......c'est en mode console affraid affraid affraid
.....enfin bref je ne sais pas comment ca marche....snif Embarassed
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10576
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Arrondir un réel à deux chiffres après la virgule   Mer 27 Juin 2012 - 0:09

Cherche des IDE pour FreeBasic. Il y en a essentiellemt 2:
- FbEdit
' FBIde
Je n'ai pas les liens sous la main, mais Google est ton ami...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 27 Juin 2012 - 0:13

.....Sauf si tu demande de traduire de l'allemand en français lol! lol! lol! lol! lol!

Merci Klaus
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10576
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Arrondir un réel à deux chiffres après la virgule   Mer 27 Juin 2012 - 0:18

En effet !!!!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

Nombre de messages : 5746
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Arrondir un réel à deux chiffres après la virgule   Mer 27 Juin 2012 - 0:49

Salut ygeronimi

Voici le lien de FBIDE de FREEBASIC

http://fbide.freebasic.net/download

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
papydall

avatar

Nombre de messages : 5746
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Arrondir un réel à deux chiffres après la virgule   Mer 27 Juin 2012 - 1:07

@ygeronimi

Pour la traduction, il n’y a pas de problème puisque tu peux utiliser FBIDE en Français.
Pour cela procèdes comme ceci.
Après avoir chargé FBIDE, installes-le dans ton répertoire préféré.
Ensuite, exécute FBIDE.EXE : il s’exécute en Anglais.
Cliques sur VIEWS, puis sur SETTINGS, SELECT YOUR LANGUAGE, choisis alors FRENCH puis OK.
Quittes FBIDE et relances-le : il t’indique un message d’erreur ‘file ",line 261 : ‘=’ expected’
Ignores ce message en cliquant sur OK : FBIDE est désormais en Français. Alors bonne programmation.

lol! lol!

Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 27 Juin 2012 - 1:14

en voulant compiler avec Fbedit j'ai un message d'erreur


C:\FreeBASIC\fbc -s gui -dll -export "format.bas"
format.bas(10) error 114: Expected 'END EXTERN' in 'end function'

Build error(s)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 27 Juin 2012 - 1:18

Et avec Fbide :

Command executed:
"C:\FreeBasic\fbc.exe" "C:\Users\Yannick\Documents\Prog dll FBasic\format.bas"

Compiler output:
C:\Users\Yannick\Documents\Prog dll FBasic\format.bas(10) error 114: Expected 'END EXTERN' in 'end function'

Results:
Compilation failed

System:
FBIde: 0.4.6
fbc: FreeBASIC Compiler - Version 0.23.0 (08-14-2011) for win32 (target:win32)
OS: Windows NT 6.1 (build 7601, Service Pack 1)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5746
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Arrondir un réel à deux chiffres après la virgule   Mer 27 Juin 2012 - 1:32

Salut tout le monde.

J’ai compilé la DLL ‘FORMAT.BAS’ donnée par jean_debord.
Je l’ai testé et ça fonctionne : ça répond exactement à la demande, à savoir afficher la valeur sur la longueur et avec le nombre de décimales qu’on veut.

Voici le résultat de mon test
Code:

dim montant, format$, xstr$, result% ,i%
label formater

gosub formater
end

formater:
  dll_on "format.dll"
  for i% = 1 to 20
    montant = 100000*rnd(1000)
   
  format$ = "  *** 00000000.00000"
'  format$ = "00,000,000.00 $"
'  format$ = " 00 000 000.00 Dollars"
'  format$ = "00 000 000.00 E"
'  format$ = "00 000 000.00 EUROS"    : ' ----> Erreur dans l'affichage
'  Cette erreur est provoquée lorsque le texte commence par E ou par e
'  et comporte d'autres caractères.
'  Peut-être que le système considère qu'il s'agit de l'opérateur de
'  l'exponentiation.
    xstr$ = format$
    result% = dll_call3("print_format", adr(montant), adr(format$), adr(xstr$))
    print "montant = ";xstr$
  next i%

dll_off
return

On peut choisir le format de différentes manières sauf celui donné en ligne 16.

A+
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 27 Juin 2012 - 1:35

perso j'arrive pas a la compiler cette P........ de dll , avec fbide ou fbedit j'ai droit à des erreurs
scratch scratch scratch scratch scratch scratch scratch scratch scratch scratch scratch scratch scratch
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5746
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Arrondir un réel à deux chiffres après la virgule   Mer 27 Juin 2012 - 1:47

ygeronimi a écrit:
GRRRRRRR......c'est en mode console affraid affraid affraid
.....enfin bref je ne sais pas comment ca marche....snif Embarassed

As-tu chargé, entre autre, ‘start-shell.exe’ ? c'est en mode console.
Si oui, exécute-le : puis tapes ceci
fbc format.bas

Le source ‘format.bas’ doit être dans le même répertoire que celui où se trouve ‘start-shell.exe’.


Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 8015
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 27 Juin 2012 - 1:50

cheers cheers cheers rendeer geek rendeer geek king cheers cheers cheers cheers

CA Y EST , J Y SUIS ARRIVE !!!!!!!!!


Ben c 'est pas pour demain que je vais imiter Klaus et pondre des dll à la demande....... Laughing

OUFFF.......
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5746
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: Arrondir un réel à deux chiffres après la virgule   Mer 27 Juin 2012 - 2:03



F E L I C I T A T I O N S

Y G E R O N I M I




lol! lol! lol!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé




MessageSujet: Re: Arrondir un réel à deux chiffres après la virgule   

Revenir en haut Aller en bas
 
Arrondir un réel à deux chiffres après la virgule
Revenir en haut 
Page 1 sur 3Aller à la page : 1, 2, 3  Suivant
 Sujets similaires
-
» Arrondir un réel à deux chiffres après la virgule
» [Résolu] addition de deux variable.
» j'ai deux question qui m'intrigue
» Un ascenseur pour deux memos
» Mise à jour de deux GPS Garmin

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: A l'aide!-
Sauter vers: