WhiteMagus
Messages postés764Date d'inscriptionlundi 21 juin 2004StatutMembreDernière intervention 5 février 2010 12 sept. 2004 à 01:12
Je n'ai pas vraiment compris ce que vous voulez faire.
Mais il y a un moyen simple d'arrondir un nombre à quelques chiffres après la virgule.
Grâce à Math.pow :
// on arrondi n à d chiffre après la virgule
arrondi = function(n, d) {
return Math.round( n * Math.pow(10, d)) / Math.pow(10, d);
};
trace ("arrondi de 6.55957 à 2 chiffres après la virgule : " + arrondi(6.55957, 2));
Je ne sais pas ce que vous voulez faire mais je trouve que c'est une méthode qui serait sympa de connaître.
@+
c'est pas le but... on vx conserver les decimal en les limitants, pas les supprimer.
Tu doit etre nouveau sur le site, car sinon tu nous connaitrais top30 et moi, et tu ne nous preciserai pas cette fonction Math.floor()...
matteo_2r
Messages postés1Date d'inscriptionsamedi 20 décembre 2003StatutMembreDernière intervention10 septembre 2004 10 sept. 2004 à 01:10
Math.floor(nombre);
Renvoie l'entier inférieur le plus proche.
Ex : 12,7584 => 12
ouai, bon, no comment ;)
suis fatigué en ce moment... et puis je passe plus de temps sur les macher financier que sur flash ces derniers jours... c'est d'ailleur pour un simulateur d'investissement que j'ai du coder cette fonction...
le code seras pas sur le site, ça interesse personne ce genre d'appli je pense...
top30
Messages postés1158Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention 6 août 2010 8 sept. 2004 à 16:36
Tiens la preuve que Spit est super utile :
// Retourne un nom de fichier comme : "monImage.jpg" sans l'extention
// Quelque soit la longueur de l'extention...
function QuitExtention ( str :String ) :String {
return str.split('.')[0] ;
}
A plus... ; )
top30
Messages postés1158Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention 6 août 2010 8 sept. 2004 à 15:56
OOOHHH BW !
Reveil toi.. C'est pas ton style allongé les Fucntions
ouai, c'est une fonction que j'ai créé pour une de mes appli, et je l'ai mise de suite, et je me suis appercut seuleemnt ce matin que mon appli ne fonctionnait pas avec avec les 2entier...
correction:
function limitDecimal(num:Number, limit:Number):Number {
var pointIndex:Number = num.toString().indexOf(".", 0);
if (pointIndex == -1) {
return num;
} else {
var number:String = num.toString().substring(0, pointIndex);
var decimals:String = num.toString().substring(pointIndex+1, num.toString().length);
var newDecimals:String = decimals.substr(0, limit);
return Number(number+"."+newDecimals);
}
}
top30
Messages postés1158Date d'inscriptionvendredi 21 février 2003StatutMembreDernière intervention 6 août 2010 8 sept. 2004 à 15:05
J'aime bien l'idée... Mais ca marche pas avec les entiers !
Limite 12 renvoie 0.12 !
Essaie donc ca !
function FloatLength ( val :Number, length :Number) :Number {
var tmp:Array = String(val).split ('.') ;
if ( tmp[1] ) tmp[1] = tmp[1].substring (0, length) ;trace (length);
return Number (tmp.join('.')) ;
}
15 sept. 2009 à 19:15
Merci à vous ^^
13 sept. 2004 à 10:58
On peut même limiter le calcul comme suit...
function getLimitFloatLength ( val :Number, length :Number ) :Number {
var pow :Number = Math.pow ( 10, length) ;
return Math.round ( val * pow ) / pow ;
}
Je crois que grâce `WhiteMagus.. Ta fonction est devenu parfaite...
Je prends !
12 sept. 2004 à 01:14
12 sept. 2004 à 01:12
Mais il y a un moyen simple d'arrondir un nombre à quelques chiffres après la virgule.
Grâce à Math.pow :
// on arrondi n à d chiffre après la virgule
arrondi = function(n, d) {
return Math.round( n * Math.pow(10, d)) / Math.pow(10, d);
};
trace ("arrondi de 6.55957 à 2 chiffres après la virgule : " + arrondi(6.55957, 2));
Je ne sais pas ce que vous voulez faire mais je trouve que c'est une méthode qui serait sympa de connaître.
@+
10 sept. 2004 à 16:15
10 sept. 2004 à 10:19
Sérieux, dors un peu, t arrives plus à écrire français !
= ))
10 sept. 2004 à 01:15
Tu doit etre nouveau sur le site, car sinon tu nous connaitrais top30 et moi, et tu ne nous preciserai pas cette fonction Math.floor()...
10 sept. 2004 à 01:10
Renvoie l'entier inférieur le plus proche.
Ex : 12,7584 => 12
8 sept. 2004 à 16:43
suis fatigué en ce moment... et puis je passe plus de temps sur les macher financier que sur flash ces derniers jours... c'est d'ailleur pour un simulateur d'investissement que j'ai du coder cette fonction...
le code seras pas sur le site, ça interesse personne ce genre d'appli je pense...
8 sept. 2004 à 16:36
// Retourne un nom de fichier comme : "monImage.jpg" sans l'extention
// Quelque soit la longueur de l'extention...
function QuitExtention ( str :String ) :String {
return str.split('.')[0] ;
}
A plus... ; )
8 sept. 2004 à 15:56
Reveil toi.. C'est pas ton style allongé les Fucntions
; )
8 sept. 2004 à 15:24
correction:
function limitDecimal(num:Number, limit:Number):Number {
var pointIndex:Number = num.toString().indexOf(".", 0);
if (pointIndex == -1) {
return num;
} else {
var number:String = num.toString().substring(0, pointIndex);
var decimals:String = num.toString().substring(pointIndex+1, num.toString().length);
var newDecimals:String = decimals.substr(0, limit);
return Number(number+"."+newDecimals);
}
}
8 sept. 2004 à 15:05
Limite 12 renvoie 0.12 !
Essaie donc ca !
function FloatLength ( val :Number, length :Number) :Number {
var tmp:Array = String(val).split ('.') ;
if ( tmp[1] ) tmp[1] = tmp[1].substring (0, length) ;trace (length);
return Number (tmp.join('.')) ;
}
trace ( FloatLength ( 12.325566, 3 ) );
trace ( FloatLength ( 20, 3 ) );
Le if evite les NAN si la valeur à limiter est un entier !
[6/10] pour le bug non "penser"...
Split de String est une fonction bien plus qu'utile et peu utilisée...