Форматирование числа с необязательными десятичными знаками в Excel

У меня есть числа в ячейках Excel. Я хочу, чтобы числа были отформатированы таким образом, чтобы, если в них есть десятичные разряды, они отображались максимум до двух, а если у них нет десятичных знаков, он их не отображал.

Например.

  • 15 должно быть отформатировано как 15, НЕ 15,00
  • 14.3453453 должно быть отформатировано как 14,35
  • 12.1 должен быть отформатирован как 12.1
  • 0 должен быть отформатирован как 0

Самый близкий код настраиваемого формата, который я придумал с — 0. ## . К сожалению, это форматирует 15.00 как 15. (обратите внимание на лишнюю десятичную точку).

Чтобы еще больше усложнить проблему, электронная таблица является результатом экспорта из служб отчетов SQL Server. Таким образом, макросы невозможны. Ну ладно, похоже, 0. ## — мой лучший выбор, и они могут просто жить с дополнительным периодом.


36

В качестве альтернативы вы можете решить «необязательную» проблему с десятичной точкой, используя следующее решение:

Формат числа: General;[Redght(General)

Это добавит десятичный разряд и дробное значение соответственно, при форматировании отрицательных чисел в более разборчиво.

Что касается исходного вопроса плаката, вам все равно нужно округлить/обрезать «лишние» десятичные точки с помощью формулы. Однако это простая формула = ROUND (, ) , которая не требует больших вычислительных затрат.

Примеры:

  2500 -> 25000,25 -> 0,25-2500 -> (2500) -0,25 -> (0,25)  

Улучшить этот ответ
отредактировано 20 октября 2012 г. в 14:52
jonsca
4,0071414 золотых знаков3131 серебряный знак4545 бронзовых знаков
ответил 8 мая ’12 в 18:16
  • 4
    Этот ответ заслуживает большего количества голосов. Он правильно обрабатывает десятичную точку без использования условного форматирования. В моем конкретном случае я хочу показать все десятичные разряды, поэтому мне даже не нужно изменять формулу. — Уилсон, 14 марта 2016, 07:18
  • 1
    General имеет проблему перехода в научную нотацию, если число имеет слишком много десятичных знаков, например 2.6532E-06 вместо 0.0000026532 . — Дэн Даскалеску 02 июля ’17, в 17:35
  • +1 Это было полезно для меня в решении конкретной проблемы, связанной с необходимостью отображать значения в тысячи долларов (например,. показать 40 000 долларов США как 40 000 долларов США и 10 500 долларов США как 10,5 000 долларов США) в метках сводной таблицы (где условное форматирование не является вариантом). Код формата $ General k отлично справился! — Дэн Хендерсон, 27 июля ’17 в 16:49
  • Также применимо к Gnumeric: просто используйте Format: General вместо Format: Number — отметка 2 июля ’20 в 15:09
добавить комментарий |

В качестве альтернативы вы можете решить «необязательную» проблему с десятичной точкой, используя следующее решение:

Формат числа : General;[Redght(General)

Это добавит десятичный разряд и дробное значение соответственно, при этом отрицательные числа будут форматироваться более разборчиво.

Что касается исходного вопроса плаката, вам все равно нужно округлить/обрезать «лишние» десятичные точки с помощью формулы. Однако это простая формула = ROUND (, ) , которая не требует больших вычислительных затрат.

Примеры:

  2500 -> 25000,25 -> 0,25-2500 -> (2500) -0,25 -> (0,25)  

21

Пользовательские форматы Excel могут предоставить частичный ответ

Пользовательские форматы для числа в Excel вводятся в следующем формате:

  • положительный числовой формат; отрицательный числовой формат; нулевой формат; текстовый формат

One формат, который приближается к вашему требованию, но оставляет в десятичной части для чисел без десятичных знаков:

  #, ###. ??; (#, ###  . ??); 0  

Пример:

  • 15 отображается как 15.
  • 14.3453453 отображается как 14,35
  • 12,1 отображается как 12,1
  • 0 отображается как 0
Улучшите этот ответ
отредактировал 02 июня ’20 в 9:35
ответил 7 сентября ’08 в 17:09
  • Это, безусловно, лучший ответ. — KyloRen 07 дек. ’16 в 2:08
  • 7
    Тем не менее, на самом деле не предоставляет действительного решения или даже возможного обходного пути. В нем есть полезная информация о пользовательских форматах чисел. — Односторонний 11 апр. ’17 в 16:28
  • 3
    15 отображается как, 15. — Roger Far 13 дек. ’17 в 18:50
добавить комментарий |

Пользовательские форматы Excel могут дать частичный ответ

Пользовательские форматы для чисел в Excel вводятся в этом формате :

  • формат положительных чисел; формат отрицательных чисел; нулевой формат; текстовый формат

Один формат, который приближается к вашим требованиям, но оставляет в десятичном месте для чисел без десятичных знаков:

  #, ###. ??; (#, ###. ??); 0  

Пример:

  • 15 отображается как 15.
  • 14.3453453 отображается как 14.35
  • 12.1 отображается как 12.1
  • 0 отображается как 0

19

Применить условное форматирование для недесятичных чисел.

Например, целевая ячейка — A1.

  1. Отформатируйте A1 как «###, ###. 00». Это будет использоваться для десятичного числа.
  2. Определите условное форматирование для недесятичных чисел.

    • Условие: значение ячейки равно to = TRUNC (A1).
    • Формат: ###,###

Результат ниже:

  12 => 1214.231 => 14.2315.00000 => 1517.3 => 17.30  

Улучшите этот ответ
отредактировал 4 июня ’13 в 11: 31
slhck
196k5656 золотых знаков529529 серебряных знаков536536 бронзовых знаков
ответ дан 9 июля ’10 в 1 : 26
  • Только что возникла проблема с номером 4.001, который на дисплее округляется до 4.00, но не удовлетворять формула форматирования (4.001 4) и все равно будет отображаться как «4». Я использовал эту условную формулу для ее решения: = ROUND ($ A1; 2) = TRUNC ($ A1) — leokhorn 19 нояб., 10:37
  • @leokhorn альтернативно = ABS (A1-TRUNC (A1)) Я бы использовал , но у моего Excel были проблемы с внутренним округлением, например abs (4.005-trunc (4.005)) 0.005 - Грегор y 25 авг. '20 в 19:31
добавить комментарий |

Применить условное форматирование для недесятичных чисел.

Например, целевая ячейка — A1.

  1. Отформатируйте A1 как «###, ###. 00». Это будет использоваться для десятичного числа.
  2. Определите условное форматирование для недесятичных чисел.

    • Условие: значение ячейки равно to = TRUNC (A1).
    • Формат: ###,###

Ниже результат:

  12 => 1214.231 => 14.2315.00000 => 1517.3 => 17.30  

6

Вот один из методов, использующий условное форматирование.

  1. Щелкните правой кнопкой мыши ячейку, выберите «Форматировать ячейку».
  2. Выберите «Пользовательский»
  3. Введите «0. ####» (добавьте больше или меньше # для управления максимальное количество десятичных знаков)
  4. Нажмите OK
  5. Не снимая выделения с ячейки, используйте «Условное форматирование» (может быть элементом меню в меню «Формат» или кнопкой на главной странице в зависимости от вашей версии Excel)
  6. Добавить новое правило на основе формулы «= MOD (H32,1) = 0»

    edit — лучшая формула: «= MOD (ROUND (H32,2), 1) = 0», где ‘2’ — желаемое количество десятичных знаков. в предыдущей формуле остается конечная десятичная точка, если число округляется до целого.

    Замените H32 в формуле идентификатором вашей ячейки, но УБЕДИТЕСЬ, ЧТО НЕТ $ SIGNS! (Отсутствие знаков $ гарантирует, что вы скопируете формат в другие ячейки)

  7. Для формата этого правила выберите вкладку числа, выберите «Пользовательский»

  8. На этот раз введите формулу «0».
  9. Нажимайте OK достаточно раз, чтобы вернуться на лист (зависит от версии Excel)

Итак, наслаждайтесь со всей ответственностью! Если вы хотите скопировать формат в другие ячейки, помните, что вы можете скопировать ячейку и использовать «Специальная вставка» с опцией «Формат».

Улучшите этот ответ
отредактировано 9 января ’14 в 4:35
Sam
1,32933 золотых знака1212 серебряных знаков1818 бронзовых знаков
ответил 26 августа 2011 в 0:28
  • Не могли бы вы уточнить, применимо ли это только к определенным (или более поздним версиям) Excel? Я все еще использую 2003 год (и подозреваю, что многие другие тоже смущающие), и когда я перехожу к условному форматированию, у меня нет возможности изменить форматирование чисел, только шрифт, граница и узоры. Спасибо — SSilk 21 янв. ’13 в 20:19
  • Я только что попробовал этот подход в Excel 2010, и он отлично сработал. Он не будет работать с более ранними версиями Excel (по крайней мере, так мне говорит мой «режим совместимости» в Excel 2010). — barfuin 12 фев. ’13 в 19:11
добавить комментарий |

Вот один метод с использованием условного форматирования.

  1. Щелкните правой кнопкой мыши по ячейке, выберите » Форматировать ячейку «
  2. Выбрать» Пользовательский «
  3. Введите» 0. #### «(добавьте больше или меньше # для управления максимальным количеством десятичных знаков)
  4. Нажмите OK.
  5. Не снимая выделения с ячейки, используйте «Условное форматирование» (может быть элементом меню в меню «Форматирование» или кнопкой на главной странице в зависимости от версии Excel)
  6. Добавить новое правило на основе формулы «= MOD (H32,1) = 0»

    edit — лучшая формула: «= MOD (ROUND (H32,2), 1) = 0», где ‘2’ — желаемое количество десятичных знаков. в предыдущей формуле остается конечная десятичная точка, если число округляется до целого.

    Замените H32 в формуле идентификатором вашей ячейки, но УБЕДИТЕСЬ, ЧТО НЕТ $ SIGNS! (Отсутствие знаков $ гарантирует, что вы скопируете формат в другие ячейки)

  7. Для формата этого правила выберите вкладку числа, выберите «Пользовательский»

  8. На этот раз введите формулу «0».
  9. Нажимайте OK достаточно раз, чтобы вернуться на лист (зависит от версии Excel)

Итак, наслаждайтесь со всей ответственностью! Если вы хотите скопировать формат в другие ячейки, помните, что вы можете скопировать ячейку и использовать «Специальная вставка» с параметром «Формат».


5

Недавно я столкнулся с этим в Excel 2007 и просто закончил тем, что использовал функцию TRUNC в ячейках значений:

  value = TRUNC (B5,1) 0 0 5 5 5.4 5.4 65.43 65.4765.432 765.4  

Работает именно так, как я хотел в …

Улучшите этот ответ
ответил 03 февраля ’10 в 17:31
  • 3
    Да, обе функции TRUNC (x, 2) и ROUND (x, 2) будут выполнять свою работу (в зависимости от того, какой метод округления вам нужен). Затем вам просто нужно установить форматирование ячейки на «Общее», и десятичные разряды будут отображаться только при необходимости. (Я голосую за то, чтобы отметить сообщение Дроя как ответ.) — Саймон Ист, 13 июня 2011 г., 9:46
добавить комментарий |

Недавно я столкнулся с этим в Excel 2007 и просто закончил тем, что использовал функцию TRUNC в ячейках значений:

  value = TRUNC (B5,1) 0 0 5 5 5,4 5,4 65,43 65.4765.432 765,4  

Работает именно так, как я хотел. ..


2

Помните, что в службах Reporting Services вы может также написать выражение для форматирования чисел. В моей ситуации я использовал

  iif (floor (Fields! NumericFieldName.Value) = Fields! NumericFieldName.Value, «0», «0. ##»)  

в качестве выражения числового формата. Это привело к созданию файла Excel с двумя форматами ячеек, выбранными в зависимости от того, является ли значение целым числом.

Улучшите этот ответ
ответил 01 марта 2012 в 20:57
добавить комментарий |

Помните, что в службах Reporting Services вы также можете написать выражение для форматирования чисел. В моей ситуации я использовал

  iif (floor (Fields! NumericFieldName.Value) = Fields! NumericFieldName.Value, «0», «0. ##»)  

в качестве выражения числового формата. В результате был получен файл Excel с двумя форматами ячеек, выбранными в зависимости от того, является ли значение целым числом.


2

Мой ответ удаляет десятичную точку И удаляет значение 0

в условном форматировании напишите:

  General; # ;; @  

Это должно работать трюк.

Улучшите этот ответ
ответил 12 фев. в 13:45
  • 1
    Это отображает нули как пустые ячейки. — lolmaus — Андрей Михайлов 21 авг., 07:53
  • Это именно то, что я искал. Спасибо. — Оуэн Блэкер 21 июля ’20 в 14:23
добавить комментарий |

Мой ответ удаляет десятичную точку И удаляет значение 0

в условном форматировании напишите:

  General; # ;; @  

Это должно помочь.


1

Вводите ли вы/ваши пользователи значения непосредственно в ячейках, или они заполняются формулой или макросом?

Если ячейки не заполняются непосредственно человеком, вы можете сохранить вычисленные значения в скрытом диапазоне, а затем отобразить отформатированный текст для пользователя с такой формулой:

  = IF (ROUND (A1,2) = INT (A1),  ТЕКСТ (A1, «0»), ТЕКСТ (A1, «0.0 #»))  

(где ‘A1’ — ссылка на ячейку)

В формуле будут отображаться следующие значения:

  ------------------------- |  Оригинал | Отформатирован |  | ------------- + --------- |  |  15 |  15 |  |  14.3453453 |  14.35 |  |  12.1 |  12.1 |  |  0 |  0 |  |  -15.123 |  -15.12 |  |  1.004 |  1 |  -------------------------  

NB: вывод формулы — это текстовая строка, а не числовой, поэтому:

  • По умолчанию выходные данные выравниваются по левому краю.
  • Вы не можете использовать результат в каких-либо дальнейших вычислениях (вместо этого вы должны использовать исходную ячейку, на которую указывает ссылка)
Улучшить этот ответ
ответил 27 августа ’08 в 1:16
добавить комментарий |

Вводите ли вы/ваши пользователи значения непосредственно в ячейки, или они заполняются формулой или макросом?

Если ячейки не заполняются непосредственно человеком, вы можете сохранить вычисленные значения в скрытом диапазоне, а затем отобразить форматированный текст для пользователя с помощью такой формулы:

  = ЕСЛИ (ОКРУГЛ (A1; 2) = ЦЕЛОЕ (A1), ТЕКСТ (A1, "0"), ТЕКСТ (A1, "0.0 #"))  

(где ‘A1’ — это ячейка, на которую указывает ссылка)

В формуле будут отображаться такие значения:

  ------------------------- | Исходный | Отформатированный |  | ------------- + --------- |  |  15 |  15 |  |  14.3453453 |  14.35 |  |  12.1 |  12.1 |  |  0 |  0 |  |  -15.123 |  -15.12 |  |  1.004 |  1 |  -------------------------  

NB: вывод формулы — это текстовая строка, а не числовой, поэтому:

  • По умолчанию вывод выравнивается по левому краю.
  • Вы не можете использовать результат в каких-либо дальнейших вычислениях (вместо этого вы должны использовать исходную ячейку, на которую ссылаются)

1

Отформатируйте ячейку как «Общие», затем при проверке данных ограничьте значения десятичными знаками

Улучшить этот ответ
ответил 12 мая 2010, в 22:53
  • Если вам нужно избегать добавления формул (и, возможно, нового столбца) в вашу электронную таблицу, тогда предложение Фреда может быть лучшим. — Саймон Ист, 13 июня 2011 г., 9:55
  • 1
    Это не позволит людям вводить числа с количеством десятичных цифр, превышающим визуальный предел. — barfuin 12 фев. ’13 в 19:14
добавить комментарий |

Отформатируйте ячейку как «Общие», затем при проверке данных ограничьте значения до десятичных знаков


1

Это не должно быть настолько сложным — это можно сделать исключительно с помощью условного форматирования. У меня Excel 2010, поэтому для более ранних версий это может не работать.

  1. Отформатируйте ячейки как общие. Количество десятичных знаков для некоторых чисел может быть очень большим.
  2. Выделите ячейку и щелкните «Условное форматирование». Нажмите «Новое правило», затем «Использовать формулу».
  3. Используйте формулу = (B1-INT (B1))> 0 (где B1 — это форматируемая ячейка)
  4. Нажмите кнопку «Форматировать» и выберите «Пользовательский». Введите [= 0] 0;. ## в поле Тип.
  5. Несколько раз нажмите Enter.
  6. Еще раз нажмите «Условное форматирование», нажмите «Управление правилами» и «Редактировать» только что созданное вами правило. Измените диапазон в поле «Применимо к», чтобы охватить диапазон, который вы хотите охватить.

Все готово.

Улучшить этот ответ
ответил 04 декабря 2013 в 16:57
добавить комментарий |

Это не должно быть настолько сложным — это можно сделать исключительно с помощью условного форматирования. У меня Excel 2010, поэтому для более ранних версий это может не работать.

  1. Отформатируйте ячейки как общие. Количество десятичных знаков для некоторых чисел может быть очень большим.
  2. Выделите ячейку и нажмите «Условное форматирование». Щелкните «Новое правило», затем «Использовать формулу»..
  3. Используйте формулу = (B1-INT (B1))> 0 (где B1 — ячейка, которую вы форматируете)
  4. Нажмите кнопку «Формат» и выберите «Пользовательский» . Введите [= 0] 0;. ## в поле Тип.
  5. Несколько раз нажмите Enter.
  6. Еще раз нажмите «Условное форматирование», нажмите «Управление правилами» и «Редактировать» только что созданное вами правило. Измените диапазон в поле «Относится к», чтобы охватить диапазон, который вы хотите охватить.

Все готово.


0

В дополнение к замечательному ответу Люка выше, вот вариант, основанный на его работе. Я не хотел, чтобы в ячейке был ноль, если не было значения. Оставьте общий формат ячейки и используйте эту формулу:

  = IF ((A1 = ""), "", IF (ROUND (A1,2) = INT (A1  ), TEXT (A1, "0"), TEXT (A1, "0.0 #")))  

Опять же, где A1 — это ячейка, на которую имеется ссылка.

Улучшите этот ответ
ответил 04 марта 2009 г., 18:00
добавить комментарий |

В дополнение к замечательному ответу Люка, приведенному выше, здесь представлен вариант, основанный на его работе. Я не хотел, чтобы в ячейке был ноль, если не было значения. Оставьте общий формат ячейки и используйте эту формулу:

  = IF ((A1 = ""), "", IF (ROUND (A1,2) = INT (A1  ), TEXT (A1, "0"), TEXT (A1, "0.0 #")))  

Опять же, где A1 — это ячейка, на которую имеется ссылка.


0

Использование Функция Round для выдачи значащих цифр. Однако это не меняет количество отображаемых десятичных знаков. Просто отформатируйте ячейку с помощью общего числового формата.

  ROUND (MyValue, Sig.figs - 1 - INT (LOG10 (ABS (MyValue  )))  

Улучшите этот ответ
отредактировал 17 июня ’12 в 14:47
Шива Чаран
4 , 31922 золотых знака2323 серебряных знака2929 бронзовых знаков
ответил 29 дек. div>
  • Почему вся сложная формула INT (LOG …? Почему не просто ROUND (value, 2) и форматировать как General? — Саймон Ист, 13 июня 2011 г., 9:54
  • @SimonEast Round (value, 2) исправляет значение 0.00, тогда как 2 сигн. инжира 0,0125 будут равны 0. 013, а не 0,01 — Грегор y 25 авг., 20:20
добавить комментарий |

Использование функции Round для выдачи значащих цифр. Однако это не меняет количество отображаемых десятичных знаков. Просто отформатируйте ячейку с помощью общего числового формата.

  ROUND (MyValue, Sig.figs - 1 - INT (LOG10 (ABS (MyValue  )))  

0

   B1 = ЕСЛИ (ОКРУГЛ (A1,2) = ЦЕЛОЕ (A1), ТЕКСТ (A1, «0»), ТЕКСТ (A1, «0. ##»)) C1 = ЕСЛИ (ОКРУГЛ (B1,  2) = INT (B1), TEXT (B1, "0"), TEXT (B1, "0. ##"))  

Больше нет бесхозных десятичных знаков.

Улучшите этот ответ
отредактировано 4 июня ’13, 11:41
Simon
3,86522 золотых знака2121 серебряных знака4040 бронзовых знаков
ответ дан 4 июн ’13 в 14: 16
добавить комментарий |

  B1 = IF (ROUND (A1,2) = INT (A1), TEXT (A1, "0"  ), ТЕКСТ (A1, «0. ##»)) C1 = IF (ROUND (B1,2) = INT (B1), TEXT (B1, «0»), TEXT (B1, «0. ##»)  )  

Больше никаких лишних десятичных знаков.


0

Кажется, это самый простой способ показать десятичное число, когда есть дробные числа — и не показывать десятичное число для целых чисел:

  = TEXT (ROUND (Base_Number, Max_Decimal_Places), «общий»)  

или со ссылками на ячейки:

  =  ТЕКСТ (ОКРУГЛ (A1; 2), «общий»)  

Дает

15 = 15
9.23432234 = 9,23

Улучшите этот ответ
отредактировано 17 января 2014 г., 17:41
div>
Excellll
12.2k88 золотых знаков4646 серебряных знаков7070 бронзовых знаков
ответил 17 янв. в 17:34
  • Добро пожаловать в SuperUser @lookingforsame. Просто примечание, чтобы не упустить скрытые детали вопросов. В этом случае оператор говорит, что вывод из SQL, если макрос невозможен, формулы также не могут быть. Иногда перед ответом стоит задать вопрос в качестве комментария. Приятно видеть нового человека, счастливого ответа! — Джулиан Найт 17 янв. ’14 в 17:55
добавить комментарий |

Кажется, это самый простой способ показать десятичное число, когда есть дробные числа, и не показывать десятичное для целых чисел:

  = TEXT (ROUND (Base_Number, Max_Decimal_Places), «общий»)  

или со ссылками на ячейки:

  = ТЕКСТ (ОКРУГЛ (A1; 2), "общий")  

Дает

15 = 15
9.23432234 = 9.23



Всегда показывать две десятичные точки в ячейках Excel с использованием Apache poi

Например,

  XSSFCellStyle style = (XSSFCellStyle) workbook.createCellStyle (); style.setDataFormat (workbook.createDataFormat (). getFormat ("#. ##  ")); productCell.setCellValue (12.4); productCell.setCellType (Cell.CELL_TYPE_NUMERIC); productCell.setCellStyle (style);  

Это отображает 12.4 код> в указанной ячейке. Это должно быть 12,40 . Значение 12 отображается как 12. , что совершенно не нужно.

Если значение 0 тогда отображается точка . . Он всегда должен отображать две десятичные цифры — 0.00 , в этом случае независимо от значения, хранящегося в ячейке.

Как заставить Excel всегда показывать два десятичных знака цифры в числовой ячейке?


Я использую один из следующих стилей для отображения числовых ячеек.

  XSSFColor commonColor = new  XSSFColor (новый java.awt.Color (240, 240, 240)); XSSFColor cellBorderColour = new XSSFColor (new java.awt.Color (0, 76, 153)); Font font = workbook.createFont (); font.setBoldweight  (Font.BOLDWEIGHT_BOLD); font.setColor (IndexedColors.DARK_BLUE.index); XSSFCellStyle style = (XSSFCellStyle) workbook.createCellStyle (); style.setFillForegroundColor (commonColor); style.setFillForegroundColor (commonColor); style.setFillForegroundColor (commonColor); style.setFillStylePattern  .ALIGN_RIGHT); style.setFont (шрифт); style.setBorderLeft (BorderStyle.HAIR); style.setBorderColor (XSSFCellBorder.BorderSide.LEFT, cellBorderColour); style.setBorderTop (BorderStyle.HAIRFC); style.setBorderTop (BorderStyle.HAIRFC); style.setBorder (XSSFCellBorder.BorderSide.LEFT, cellBorderColour); style.setBorderTop (BorderStyle.HAIRFC); style.setBor (XSSFCellBorder.BorderSide.  TOP, cellBorderColour  ); style.setBorderRight (BorderStyle.HAIR); style.setBorderColor (XSSFCellBorder.BorderSide.RIGHT, cellBorderColour); style.setBorderBottom (BorderStyle.DOUBLE); style.setBottomBorderColor (cellBorderColor (cellBorderColor);    p> Я применил некоторые формулы Excel для выполнения некоторых вычислений с числовыми ячейками, которые, как ожидается, будут выполнены после применения числового формата (округление до половины) к числовым ячейкам.  

В Форматирование Excel, # означает «размещать здесь цифру только в случае необходимости», а 0 означает «всегда помещать здесь цифру, даже если это не нужно. 0 ". Вы можете указать формат данных в Apache POI точно так же, как в самом Excel. Если вы хотите, чтобы отображались цифры 0 , вам нужно использовать 0 в качестве цифр форматирования. Попробуйте

  style.setDataFormat (workbook.createDataFormat (). GetFormat ("0.00"));  

Это заставит значение 0 отображается как 0.00 , а 12.4 как 12.40 .


1

Этот сработал для меня:

  1. Установить стиль ячейки

      private CellStyle formatDecimalStyle (Workbook workbook, CreationHelper createHelper) {CellStyle style = workbook.createCellStyle (  );  style.setDataFormat (createHelper.createDataFormat (). getFormat ("0.00"));  стиль возврата;  }  
  2. Применить стиль к ячейке

      CellStyle style = formatDecimalStyle (workbook, createHelper)  ; Ячейка creditAmountCell = row.createCell (3); creditAmountCell.setCellValue (сумма); creditAmountCell.setCellStyle (стиль);  
Улучшить этот ответ

отредактировал 16 сентября '19 в 04:33
ответил 16 сен '19, в 16:27
добавить комментарий |

У меня сработало:

  1. Установить стиль ячейки

      private CellStyle formatDecimalStyle (рабочая книга, CreationHelper createHelper) {CellStyle style = workbook.createCellStyle ();  style.setDataFormat (createHelper.createDataFormat (). getFormat ("0.00"));  стиль возврата;  }  
  2. Применить стиль к ячейке

      CellStyle style = formatDecimalStyle (workbook, createHelper)  ; Ячейка creditAmountCell = row.createCell (3); creditAmountCell.setCellValue (сумма); creditAmountCell.setCellStyle (стиль);  

Оцените статью
logicle.ru
Добавить комментарий