1С 8.3 Преобразование числа в степени E в десятичное
Данные > Примеры кода 1С > 1С 8.3 Математика, числа
Перейти в раздел примеры кода 1С 8.3:
Примечание: работает и обычное преобразование Число("1E-11"), выведет как 0,00000000001. Представленный код утратил свою актуальность (предположу, что в старых версиях платформы обычное преобразование может не сработать).
Перевод числа в степени E в десятичное в 1С 8.3:
Функция ПолучитьКоличество(Количество) Экспорт
// Например: Количество = 1E-11
Экспонента = Найти(Количество, "E");
Если Экспонента > 0 Тогда
Мантисса = Число(Лев(Количество, Экспонента - 1));
Степень = Число(Прав(Количество, СтрДлина(Количество) - Экспонента));
Результат = Мантисса * Pow(10, Степень);
Иначе
Результат = Количество;
КонецЕсли;
Возврат Число(Результат);
КонецФункции
// Например: Количество = 1E-11
Экспонента = Найти(Количество, "E");
Если Экспонента > 0 Тогда
Мантисса = Число(Лев(Количество, Экспонента - 1));
Степень = Число(Прав(Количество, СтрДлина(Количество) - Экспонента));
Результат = Мантисса * Pow(10, Степень);
Иначе
Результат = Количество;
КонецЕсли;
Возврат Число(Результат);
КонецФункции
1
комментарий
литвинов максим григорьевич
17 янв 2023
спасибо, но
Экспонента = Найти(Количество, "E");
заменить на
Экспонента = Найти(Количество, "e");
Экспонента = Найти(Количество, "E");
заменить на
Экспонента = Найти(Количество, "e");
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник