Числовой формат Excel: Что такое “[-409$]”?

Как уже упоминалось, URLConnection getContentLengthLong() - ваш лучший выбор, но он не всегда дает определенную длину. Это связано с тем, что протокол HTTP (и другие, которые могут быть представлены как URLConnection) не всегда передает длину.

В случае HTTP длина динамического контента обычно неизвестна заранее - когда заголовок content-length обычно отправляется. Вместо этого другой заголовок transfer-encoding указывает, что используется «чанкованное» кодирование. При кодировании по частям длина всего ответа не указывается, и ответ отправляется обратно по частям, где указывается размер каждого куска. На практике сервер буферизует вывод сервлета. Всякий раз, когда буфер заполняется, отправляется другой кусок. Используя этот механизм, HTTP может фактически начать потоковую передачу ответа бесконечной длины.

Если размер файла превышает 2 ГБ, его размер не может быть представлен как int, поэтому более старый метод, getContentLength() вернет -1 в этом случае.

35
задан Ian Boyd 27 November 2012 в 21:49
поделиться

5 ответов

Чтобы прояснить сказанное другими:

[$ -409] - это код локали , указанный в шестнадцатеричном формате. Префикс даты с помощью определенного кода локали определяет, что будет отображаться при использовании различных кодов формата даты и времени. Например, используя дату

28 ноября 1973 г., 11:28:13

в качестве примера для следующей таблицы:

Format Code  409 (English United States)  804 (Chinese PRC)
===========  ===========================  =================
m            11                           11
mm           11                           11
mmm          Nov                          十一月
mmmm         November                     十一月
d            27                           27
dd           27                           27
ddd          Mon                          二
dddd         Monday                       星期二
y            73                           73
yy           73                           73
yyy          1973                         1973
yyyy         1973                         1973
AM/PM        AM                           上午

Таким образом, в конечном итоге один и тот же код формата с двумя разными идентификаторами локали дает разные результаты:

[$-409]mmmm dd yyyy  h:mm AM/PM
November 27 1973  11:28 AM


[$-804]mmmm dd yyyy  h:mm AM/PM
十一月 27 1973  11:28 上午

Поскольку поиск списка кодов языковых стандартов подобен вырыванию зубов, вот несколько ссылок:

Константы и строки идентификатора языка (Первичный источник, archive.is )

Локаль Windows Коды, отсортированные по языку ( archive.is )

Коды локалей Windows, отсортированные по языку ( archive.org , архив. это )

40
ответ дан 27 November 2019 в 07:03
поделиться

This post explains it. Basically 409 is the locale ID for "English - United States". If you used [$-414], for example, then the date would be formatted for "Norwegian (Bokmål)" instead.

My guess for question (2) is that the raw data would be presented as a string instead of being formatted. A quick test would verify this.

7
ответ дан 27 November 2019 в 07:03
поделиться

Нааф и Грант Вагнер аккуратно ответили на вопрос о ваших $ - 409 , поэтому я просто заполню недостающую часть:

'@' после точка с запятой сообщает Excel, как обрабатывать данные, если вы вводите строку вместо действительной даты. @ просто означает «разместить здесь любой текст дословно».

Несколько простых примеров, поясняющих суть дела:

=TEXT("abc","hh:mm;@")
abc


=TEXT("abc","hh:mm;@@")
abcabc

См. эту статью для подробного описания форматирования текста варианты.

12
ответ дан 27 November 2019 в 07:03
поделиться

[$-409] does not appear to be a condition. It seems to be a Locale code.

If I format a cell with a Custom format of [$-409]m/d/yy h:mm AM/PM;@, enter a date: 1/1/9, then view the formatting for the cell, I see a Date format of m/d/yy h:mm AM/PM with a Locale (location) of English (United States).

If you change the format to something like [$-439]m/d/yy h:mm AM/PM;@ you'll see the contents of the cell in another language.

I'm not sure about @. It might indicate how to display the date if the correct font or locale is not available.

Here is list of Locale IDs Assigned by Microsoft.

3
ответ дан 27 November 2019 в 07:03
поделиться

В Excel 2007 есть ошибка, которая изменяет все общие форматы на формат даты типа [$ -409].
Обычно можно использовать [$ -409].
Microsoft еще не исправила ошибку. Эта ошибка обычно возникает в больших и общих книгах Excel.

Если у вас когда-либо был опыт, когда все ваши общие форматы меняются на даты, попробуйте перейти в «Стили ячеек», щелкнув правой кнопкой мыши на «Нормальный» и изменив нормальный на общий. В поле будет указан тип формата для Нормального. Это ошибка, поскольку обычно она должна быть «общей», а не какой-то версией [$ -409].

Мне пришлось полностью удалить формат из книги. Для этого необходимо отключить доступ к Рабочей книге. Чтобы удалить формат [$ -409], указанный выше в разделе «Обычный» тип ячейки из книги, щелкните правой кнопкой мыши ячейку, выберите «Пользовательский», прокрутите, пока не найдете указанный выше тип формата [$ -409], затем удалите все форматы. вернется к тому, что называется общим.

3
ответ дан 27 November 2019 в 07:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: