2009-02-09 10 views
1

J'ai le code suivant qui est censé faire une somme dans un pdf.Javascript en PDF double valeurs

var sum = 0.0; 
var f1 = this.getField("price"); 
var temp = parseFloat(f1.value); 
sum = temp; 

var total = this.getField("total"); 
if(sum > 0) 
{ 
    total.value = sum; 
} 
else 
{ 
    total.value = ""; 
} 

Mais si l'entrée est

18.31 

mon total est

18 

EDIT: J'ai aussi essayé

console.println(f1.value); 

Mais la valeur de f1.value est seulement 18.

EDIT: cela est en cours d'exécution dans l'interpréteur javascript dans le lecteur foxit pdf.

EDIT: J'ai confirmé l'existence d'un bogue dans l'interpréteur javascript foxit reader.

Répondre

1

En effet, parseFloat() convertit f1.value (s'il s'agit d'un nombre) en une chaîne, en l'arrondissant, en fonction de la méthode toString() de l'objet.

Essayez sans elle.

http://www.jibbering.com/faq/faq_notes/type_convert.html#tcParseFl

+0

Avez-vous obtenu ce qu'il demande? Je ne comprends pas la question. –

+0

Je suppose que je devrais poser une nouvelle question. Pourquoi une valeur de champs est-elle tronquée? – Milhous

+0

Avez-vous un attribut 'maxlength' défini? –

Questions connexes