2016-04-08 5 views
0

Теперь десятичное число - это 2, я хочу изменить его в зависимости от переменной, возможно ли это?Десятичные числа, когда формат числа в excel

cell.v = parseFloat(cell.v), 
cell.t = 'n'; 
cell.z = XLSX.SSF._table[2]; // 0.00 -> want to change to 0.000 
+1

Возможной копии [JavaScript отображения поплавка 2 знаков после запятой] (HTTP://stackoverflow.com/questions/3163070/javascript-displaying-a-float-to-2-decimal-places) – Rayon

+0

@RayonDabre это не дублируется, речь идет о форматировании excel, а не только о форматировании – karaxuna

+1

Если это так, это действительно не способ задать вопрос .. – Rayon

ответ

2

Просто используйте .toFixed() метод:

cell.z = Number(XLSX.SSF._table[2]).toFixed(3);//0.000 
+0

Значение 'XLSX.SSF._table [2]' is '" 0.00 "', поэтому возникает ошибка 'XLSX.SSF._table [2]. toFixed не является функцией'. Я пробовал 'cell.z =" 0.000 ";' но это не работает. – karaxuna

+0

Сначала вам нужно преобразовать его в Номер. Например. Number ("0.00"). ToFixed (3) –

+0

И вы получаете '' 0.000''. Я сказал, что это не сработает. – karaxuna

2

Просто используйте комбинацию parseFloat() и toFixed():

cell.z = parseFloat(XLSX.SSF._table[2]).toFixed(3); 

ParseFloat() разработан специально для включения строк в числа.

1

Как я понимаю из комментариев, OP хочет записать файл XLSX с помощью библиотеки js-xlsx с числом, отображаемым с 3 десятичными знаками.

Я достигаю этого следующим образом. Добавить код формата "0.000" для XLSX.SSF._table:

XLSX.SSF._table[164] = '0.000' 

Затем cell.z = '0.000' должен работать.

Я не знаю, почему индекс 164. Если есть другой формат, он идет до 165, затем 166 и т.д.

 Смежные вопросы

  • Нет связанных вопросов^_^