Содержимое
Index 🔎︎

# Преобразование текста в числа

Defaults settings in Calc converts text inside cells to the respective numeric values if an unambiguous conversion is possible. If no conversion is possible, Calc returns a #VALUE! error.

Only integer numbers including exponent are converted, and ISO 8601 dates and times in their extended formats with separators. Anything else, like fractional numbers with decimal separators or dates other than ISO 8601, is not converted, as the text string would be locale dependent. Leading and trailing blanks are ignored.

Преобразуются следующие форматы стандарта ISO 8601:

- CCYY-MM-DD

- CCYY-MM-DDThh:mm

- CCYY-MM-DDThh:mm:ss

- CCYY-MM-DDThh:mm:ss,s

- CCYY-MM-DDThh:mm:ss.s

- hh:mm

- hh:mm:ss

- hh:mm:ss,s

- hh:mm:ss.s

Код века (CC) можно опустить. Вместо разделителя даты и времени "Т" можно ввести один пробел.

Если дата определена, то она должна соответствовать григорианскому календарю. В этом случае время (необязательный параметр) должно указываться в диапазоне от 00:00 до 23:59:59,99999...

Если определена только строка времени, то в ней может содержаться значение часов, превышающее 24, тогда как для минут и секунд максимальным значением является 59.

The conversion is done for single scalar values only, not within ranges.

The conversion is done for single scalar values, as in =A1+A2, or ="1E2"+1. Cell range arguments are not affected, so SUM(A1:A2) differs from A1+A2 if at least one of the two cells contain a convertible string.

Строки в формулах также преобразуются, например, в формуле ="1999-11-22"+42, которая возвращает дату через 42 дня после 22 ноября 1999 года. В результате вычислений, в формулах которых локализованные даты указываются в виде текстовой строки, возвращаются ошибки. Пример локализованной сроки даты: "11/22/1999" или "22.11.1999". Использовать эти строки для автоматического преобразования невозможно.

When using functions where one or more arguments are search criteria strings that represents a regular expression, the first attempt is to convert the string criteria to numbers. For example, ".0" will convert to 0.0 and so on. If successful, the match will not be a regular expression match but a numeric match. However, when switching to a locale where the decimal separator is not the dot makes the regular expression conversion work. To force the evaluation of the regular expression instead of a numeric expression, use some expression that can not be misread as numeric, such as ".[0]" or ".\0" or "(?i).0".

## Пример

In A1 enter the text '1e2 (which is converted to the number 100 internally).

In A2 enter =A1+1 (which correctly results in 101).

The formula =SUM(A1:A2), returns 101 instead of 201 because the conversion does not occur in a range, only for single scalar values. Here, '1e2 is treated as string which is ignored for the SUM function.

=SUM("1E2";1) returns #VALUE! because SUM() and some others that iterate over number sequences explicitly check the argument type.

## Changing the default text to number conversion settings

The text to number conversion can be customized in the Detailed Calculation Settings option.

См. также

Подробные настройки вычислений

Форматирование чисел как текста

Ввод числа с начальными нулями

Формат Ячейки Числа

Форматирование чисел со знаками после запятой