2009-02-09 2 views
1

У меня есть следующий код, который должен делать сумму в pdf.Javascript in PDF double values ​​

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 = ""; 
} 

Но если вход

18.31 

мой Всего

18 

EDIT: Я также попытался

console.println(f1.value); 

Но ценность f1.value составляет только 18.

EDIT: Это работает в интерпретаторе javascript в читателе foxit pdf.

EDIT: Я подтвердил, что в интерпретаторе javascript читателя foxit есть ошибка.

ответ

1

Это потому, что parseFloat() преобразует f1.value (если это число) в строку, округляя ее по пути, в зависимости от того, что возвращает объект метода toString().

Попробуйте без него.

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

+0

Вы получили то, что он просит? Я не понимаю вопроса. –

+0

Думаю, я должен задать новый вопрос. Почему значение поля усечено? – Milhous

+0

У вас есть атрибут 'maxlength'? –