2009-04-20 7 views
0

comment diminuer le nombre de chiffres avant le point décimal dans le script d'action. par exemple 10000 signifie qu'il imprime seulement 10 et 12345 = 12; 90000 = 90;format le nombre

Répondre

1

Integer divide par 1000.

+0

90000/10000 9 serait pas 90;) mais je suis sûr qu'il obtient le point. –

+0

Vous avez raison. Ce n'est pas 10000, c'est 1000. –

0

Essayez:

var i: int = j/1000 

À moins bien sûr que vous vouliez dire diminuer le nombre de chiffres avant la virgule, mais garder les < 1 quantités? Donc: 10000 * .123 * signifie qu'il n'imprime que 10 .123 et 12345 * .8 * = 12 * .8 *;

90000 * .999 * = 90 * .999 *;

+0

90000/10000 serait 9 pas 90;) bien que je suis sûr qu'il obtient le point. –

+0

Heh, j'ai fait la même erreur que ça, il semble :) – Damovisa

+0

ouais, j'ai trouvé ça un peu drôle aussi. –

0

Cela dépend un peu de ce genre de chiffres que vous manipuler (uint, int ou numéro) et si vous voulez réduire les chiffres par un montant fixe ou à un montant fixe. Et dans le cas de Number, comment vous voulez gérer les chiffres après la virgule décimale. Le code réduit uint à un nombre défini de chiffres.

trace(ReduceToDigitLength(10000, 2)); //traces 10 
trace(ReduceToDigitLength(12345, 2)); //traces 12 
trace(ReduceToDigitLength(90000, 2)); //traces 90 
trace(ReduceToDigitLength(1235, 2)); //traces 12 
trace(ReduceToDigitLength(15, 2)); //traces 15 
trace(ReduceToDigitLength(9, 2)); //traces 9 
//... 
function ReduceToDigitLength(value:uint, length:uint):uint 
{ 
    var digitLength:uint = value.toString().length; 

    if (digitLength <= length) 
     return value; 

    return RemoveDigits(value, digitLength - length); 
} 

function RemoveDigits(value:uint, digitsToRemove:uint):uint 
{ 
    return Math.floor(value/Math.pow(10, digitsToRemove)); 
} 
0

Pour réduire le nombre de chiffres avant la virgule, il suffit de diviser par un multiple de 10. Si tel est bien un certain nombre et que vous voulez un entier, vous pouvez au sol le nombre par coulée à un int ou uint (selon la nature du nombre lui-même). Notez que Math.floor retournera un autre nombre et ne vous fera pas beaucoup de bien car il peut encore produire une sortie avec de très petits bits fractionnaires.

Pour un meilleur contrôle de mise en forme MXML, consultez les classes de formatage dans le cadre: http://livedocs.adobe.com/flex/3/langref/mx/formatters/NumberFormatter.html

Questions connexes